二、JavaScript基础语法
1.语法规范
1.1编写JavaScript代码
*由Unicode字符集编写
*注释
-单行://
-多行:/* */
*语句
-表达式、关键字、运算符组成
-大小写敏感
-使用分号或者换行结束
1.2大小写敏感
*在js程序中大小写是敏感的
-标准的js语法定义中,区分大小写
1.3换行与空格
*换行、分号
*空格、TAB
2.标识符与变量
1.1标识符与关键字
*标识符
-由不以数字开头的字母、数字、下划线(_)、美元符号($)组成
-常用于表示函数、变量等的名称
-名称最好有明确的含义
-建议遵守camel法则
-例如:_ab,$abc,abc,abc123是标识符
*js语言中代表特点含义的词称为保留字,不允许程序再定义为标识符
-保留关键字,如break、if等
*标准关键字
*预保留的关键字
-class、int、float等
1.2变量
*变量声明
-使用关键字var声明变量,如var x,y;
*变量初始化
-使用”=”赋值
-没有初始化的变量则自动取值为undefined
-如:var count = 0;
*变量命名同标识符的规则,大小写敏感
*变量声明时不需要指定数据类型,以赋值为准
3.数据类型
1.1数据类型
*String类型
-表示文本
-由Unicode字符、数字、标点符号组成的序列
-首尾由一对单引号或双引号括起
-特殊字符需转义符\,如:\n,\\,\’ ,\”
*Number类型
-不区分整型数值和浮点型数值
-所有数字都采用64位浮点格式存储,类似于double格式
*整数
-10进制的整数由数字的序列组成
-16进制数据前面加上0x,八进制前面加0
*浮点型
-使用小数点记录数据,如3.4,5.6
-使用指数记录数据,如4.3e23 = 4.3 x 1023
*Boolean类型
-仅有两个值:true和false
-也代表1和0
-实际运算中true=1,false=0
*多用于结构控制语句
1.2数据类型的隐式转换
*js属于松散类型的程序语言
-变量在声明时不需要指定数据类型
-变量由赋值操作确定数据类型
*不同类型数据在计算过程中会自动进行转换
1.3数据类型转换函数
*toString
-转换成字符串
-所有数据类型均可转换为string类型
*parseInt
-强制转换成整数
-如不能转换,则返回NaN(not a number)
-例 parseInt(“6.12”)返回6
*parseFloat
-强制转换成浮点数
-如果不能转换,则返回NaN
-例 parseFloat(“6.12”)返回6.12
*typeof
-查询数值当前类型,返回string/number/Boolean/object
-例 typeof(“test”+3)=”string0
*isNaN
-判断是否为数值
1.4特殊数据类型
*null
-null在程序中代表”无值”或”无对象”
-可通过给一个变量赋值null来清除变量的内容
*undefined
-声明了变量但从未赋值或者对象属性不存在
4.运算符
1.1算数运算
*加(+)、减(-)、乘(*)、除(/)、余数(%)
- -可表示减号或负号,如:x=-y
- +可表示加法或用于字符串的连接
*递增(++)、递减(--)
- i++相当于i=i+1,i—相当于i=i-1
1.2关系运算
*关系运算用于判断数据间的大小关系
- “>” “<” “>=” “<=” “==” “!=”
*关系表达式的值为boolean类型(“true”或”false”)
*全等:===
- 类型相同
-数值相同
*不全等:!==
1.3逻辑运算
*逻辑非(!)、逻辑与(&&)、逻辑或(||)
1.4条件运算符
*条件运算符又称”三目”/”三元”运算符,其结构为:boolean表达式?表达式1:表达式2
-先计算boolean表达式的值,如果为true,则整个表达式的值为表达式1的值
-如果为false, 则整个表达式的值为表达式2的值
三、流程控制
1.控制语句
1.1控制语句
*任何复杂的程序逻辑都可通过”顺序”,”分支”,”循环”三种基本的程序结构实现
-语句默认为顺序执行
-可使用控制语句改变程序的执行顺序
2.分支结构
2.1if语句
*在运行过程中,根据不同的条件运行不同的语句
2.2switch-case语句
*根据一个整数表达式的不同取值,从不同的程序入口开始执行
3.循环结构
3.1for语句
3.2while语句
*while语句是前测试循环
-退出条件是在执行循环内部的代码之前计算的(即表达式部分)
-因此,循环主体可能根本不被执行
3.3do-while语句
*do-while语句是后测试循环
-退出条件在执行循环内部的代码之后计算
-在计算表达式之前,至少会执行循环主体一次