Javascript
js的基础概念
js是什么
js是世界上最流行的语言之一,是一种运行在客户端的脚本语言
脚本语言是不需要编译的,运行过程中由js解释器逐行进行解释并执行的
js是由布莱登艾奇发明的,用10天完成了js的设计,最初叫做livescript,后来和sun进行合作,改为javascript
js的作用
表单动态的校验(对密码强度进行检测),即js最初产生的目的
网页特效--服务端进行开发(Node.js)
游戏开发(cocos2d.js)
html、css和js的联系
html决定了网页的结构和内容
css决定网页呈现给用户的样式
js实现业务逻辑和页面控制,相对页面和用户9之间交互
浏览器执行js的简介
渲染引擎
用来解析html和css,俗称内核,比如chrome浏览器的blink,老版本的webkit
js引擎
也叫作js解释器,用来读取网页中的js代码,对其处理后运行,比如chrome浏览器的v8
js的组成
ECMAscript
是由ECMA国际(原欧洲计算机制造商协会)进行标准化的一门程序语言,一般被称为javascrip(网景公司)或jscript(微软公司)
DOM文档对象模型
是w3c组织推荐的处理可扩展标记语言的标准编程接口,通过DOM接口可控制页面上各种元素9的操作(大小、颜色、位置等)
BOM浏览器对象模型
他提供独立于内容的,可以与浏览器窗口进行交互的对象结构,通过BOM可以操作的窗口,比如弹出框、控制浏览器的跳转、获取分辨率等。
js的三种书写方式
行内式
特点
可以将单行或者少量的js代码写在html标签中,要写在事件属性中(以on开头的onclink)
单、双引号的使用:在HTML中推荐使用双引号,但在js中推荐使用单引号
缺点是可读性比较差,在HTML中书写大量的js代码时,不方便阅读
引号会容易出现多层嵌套的问题,易混淆
内嵌式
内嵌式是将多行代码写在script标签里
外部引入js文件
创建js文件
引入js文件:<script src="路径”></script>
特点:有利于html页面代码结构化,将大段js代码独立于html页面之外,方便代码复用。
引入外部文件的script标签里面不要写代码,适用于代码量较大的情况
js注释的使用
单行注释:ctrl+/,目的是为了提高代码的可读性,并不会影响代码的执行
多行注释:shift+alt+A,注释内容可以是多行内容
js的输入输出语句
alert(msg):浏览器的弹出警示框
console.log(msg)浏览器的控制台打印输出信息
prompt(info)浏览器弹出输入框,用户可进行相关输入
js的变量
什么是变量
变量是一个装东西的盒子,本质是程序在内存中申请一块空间用来存储数据
变量的使用
变量的声明
var age;使用一个变量名称为age的的变量,var是js的关键字,用来声明变量
使用该关键字声明变量后,计算机会自动为变量分配内存空间,不需要程序员手动去内存中开辟。
age是程序员定义的变量名,可通过变量名访问内存中分配的空间
变量的赋值
如;age = 10;就是给age变量赋值为10
用=将右边的内容赋值给左边的变量空间中
变量的初始化
变量的同时进行赋值操作
更新变量
一个变量被重新赋值后他原有的值就会被覆盖掉,变量值将以最后一次赋值为准
同时声明多个变量
同时声明多个变量时只需要写一个var,多个变量名词之间用英文的逗号隔开即可
变量声明的特殊情况
只声明不赋值,会打印出undefined
不声明也不赋值,直接会报错且影响后面代码的执行
不声明只赋值,可以直接使用,但是会将变量转化为全局变量
变量的书写规范
由首字母、数字、下划线、美元符号等组成,例userAge01、love_name等
严格区分大小写,如var app和var APP是两个变零
不要以数字开头
不要用关键字
变量必须要有意义,可以使用驼峰式命名法;英文的首字母大小写,后面的单词首字母大写
js的数据类型
为什么需要数据类型
在计算机中,不同的数据类型所需占用的存储空间是不同的,为了便于把数据分为相应的内存大小来存储,充分利用存储空间,所以定义了不同数据类型
变量的数据类型
变量是用来存储值得内存所在地址的,变量的名称可以自定义,因为js是弱类型的语言,所以不需要提前声明变量的类型,在运行程序时,类型会被自动确认
js的数据类型分类
简单数据类型
Number:数字型,包含整型和浮点型
数字型数据类型中进制的转换
8进制转换为十进制:八进制为0-7,程序里数字前加0表示八进制,var num1 = 010;console.log(num1)
十六进制转换为十进制:十六进制0-9,a-封,数字前加0x,表示十六进制,var num2= 0xf;console.log(num2)
数字型的范围
最大值:console.log(Number MAX_VALUE)
最小值:console.log(Number MIN_VALUE)
无穷大:console.log(Infinity);
无穷小:console.log(-Infinity);
|