一、变量
1.标识符
定义规则
1.由大小写字母、数字、下划线和美元符号($)组成。
2.不能以数字开头
3.严格区分大小写
4.不能使用JavaScript中的关键字命名。
5.尽量见名思意
2.保留关键字
1.保留关键字:指JavaScript语言中被事先定义好并赋予特殊含义的单词。
已保留的关键字:
关键字不能作为变量名和函数名使用,否则会使在JavaScript在载入过程中出现语法错误。
2.未来保留关键字:是只预留的,未来可能会成为保留关键字的单词。
标识符定义是,建议不要用未来保留关键字,避免将来转换为关键字时出现错误。
3.变量的使用
声明变量
var。。。。。。。。。。
未赋初始值的变量,默认会被设定为undefined。
行末的分号表示语句结束;
变量与变量之间用 , 操作符(逗号),可实现一条语句同时完成多个变量的声明。
变量的赋值
省略var
4.定义常量
在脚本运行过程中始终不变的量
特点:一旦被定义就不能被修改或重新定义
例如:圆周率π
语法:ES6中新增了const关键字,用于实现常量的定义
常量命名规则:遵循标识符命名规则,习惯上常量名称总是使用大写字母表示
常量的值:常量在复制时可以使具体的数据,也可以是表达式的值或变量
常量在声明时必须为其指定某个值
二、数据类型
1数据类型分类
①基本数据类型(值类型):
1.Boolean(布尔型)用于逻辑判断
2.String(字符型):
表示文本的数据类型。
程序中的字符型数据包含在用单引号或双引号中
3.Number(数值型)
JavaScript不区分整数和浮点数,所有数字都是数值型。-表示负数 +表示正数一般省略+ . 设置为NaN表示非数值
(NaN非数值是一个全局对象的属性,他的初始值是NaN。与数值型中的NaN一样,都表示非数字(Not a Number)。可用于表示某个数据是否属于数值型。NaN没有一个确切的值,仅表示非数值型的一个范围例如,NaN与NaN进行比较时,结果不一定为真,这是由被操作的数值可能是布尔型、字符型、空型、未定义型和对象型中的任意一种类型。
5.Null(空型)
6.Undefined(未定义型)
②引用数据类型:Object(对象)
2.书籍类型的检测
①typeof操作符
typeo操作符以字符串形式,返回未经计算的操作数的类型。
在利用typeof检测null的类型时返回的是object而不是null。
②Object.prototype.toString.call
由于JavaScript中一切皆为对象,因此可利用Object.prototype.toString.call()对象原型的扩展函数更精确的区分数据类型。
Object.prototype.toString.call(date)的返回值是一个形如“[object数据类型]”的字符结果。(可通过console.log(观察返回值))
3.数据类型转换
①转布尔型
使用Boolean()函数实现
Boolean()函数会将任何非空字符串
和非零的数值
转换为true,将空字符串、0、NaN、undefined和null转换为false。
例
②转数值型
合理选用Number()函数、parselnt()函数和parseFloat()函数。
例
三种函数的区别
所有函数在转换纯数字时会忽略前导零,如“0123”字符串会被转换为123.
parseFloat()函数会将数据转换为浮点数(可以理解为小数)
parseInt()函数会直接省略小数部分,返回数据的整数部分,并可通过第二个参数设置转换的进制数。
在实际开发中需要对转换后的结果是否是NaN进行判断,只有不是NaN时,才能够进行运算。此时可使用isNaN()函数来确定,当给定值为undefined、NaN和{}(对象)时返回true,否则返回false。
③转字符型
使用String()函数和toString()方法。
区别:String()函数可以将任意类型转换为字符型;除了null和undefined没有toString()方法外,其他数据类型都可以完成字符的转换。
例
toString()方法进行数据类型转换时,可通过参数设置,将数值转换为指定进制的字符串,例如num4.toString(2),表示首先将十进制26转换为二进制11010,然后转换为
四、运算符
1.算数运算符
四则混合运算,遵循“先乘除后加减”原则
取模运算结果的政府取决于被模数(%左边的数)的符号
尽量避免利用小数进行运算,有时可能因JavaScript的精度导致结果的偏差。
“+”和“-”在算术运算时还可以表示正数或者负数
运算符(++或–)放在操作数的前面,先进行自增或自减运算,再进行其他运算。若算术运算符放在操作数后面,则先进行其他运算,在进行自增或自减运算。
递增和递减运算符仅对数值型和布尔型数据操作,会将布尔值true当做1,false当做0
2.字符串运算符
JavaScript中,“+”操作的两个数据只要有一个是字符型,则“+”就表示字符串运算符,用于返回两个数据拼接后的字符串。
利用字符串运算符“+”的特性,可以将布尔型、整型、浮点型或为null的数,与空字符串进行拼接,就会完成字符型的自动转换。
3.赋值运算符
“=”是赋值运算符,而非数学意义上的相等的关系。
一条赋值语句可以对多个变量进行赋值。
赋值运算符的几何形为“从右向左”
4.比较运算符
不相同的数据进行比较时,首先自动将其转换成相同类型的数据后再进行比较。
运算符"==”和“!=”运算符在比较时,只比较值是否相等
运算符“ =” 与“!”要比较数值和其数据类型是否相等
5.逻辑运算符
6.算远运算符
三元运算符是一种需要三个操作数的运算符,运算的结果根据给定条件决定
条件表达式?表达式1:表达式2
先求条件表达式的值
如果为true,则返回表达式1的执行结果
如果条件表达式的值为false,则返回表达式2的执行结果
7.位运算符
专门针对数字0和1进行操作
JavaScript中位运算符仅能对数值型的数据进行运算。在对数字进行位运算之前,程序会将所有的操作转换成二进制数,然后在逐位运算
运算符优先级
五、流程控制
①选择结构
1.if
2.if … else
3.switch
②循环结构
1.while
2.do…while
3.for
③跳转语句