这是我学习《JavaScript高级程序设计》红宝书的学习笔记
把自己认为比较重要的地方全部记录下来了,觉得应该还挺细的。如有问题请指正~
语言基础
ECMAScript定义了JavaScript的语言基础(语法、操作符、数据类型、内置功能)
1. 语法
-
ECMAScript中的一切都区分大小写,无论变量、函数还是操作符。
-
标识符:变量、函数、属性、函数参数的名称
第一个字符必须是字母、下滑线_、美元符号$,剩下字符可以是字母、下划线、美元符号$或数字
标识符使用驼峰命名法,首字母小写,后面单词首字母大写。
-
注释:行内注释 // 多行注释 /* */
-
严格模式:strict mode
在脚本开始时加上"use strict",它其实是一个预处理命令。也可以指定一个函数在严格模式下执行,将"use strict"写在函数体开头即可。JavaScript严格模式即在严格的条件下运行
function doSth(){ "use strict"; //函数体 }
同样的代码,在"严格模式"中,可能会有不一样的运行结果;一些在"正常模式"下可以运行的语句,在"严格模式"下将不能运行。
使用严格模式可以消除代码的一些不安全之处,保证代码运行的安全性,严格模式的限制如下(部分):
-
不允许使用未声明的变量
"use strict"; x = 3.14 //报错,x未定义
-
不允许删除变量或对象
"use strict"; var x = 3.14; delete x; //报错,不允许删除
-
不允许删除函数
"use strict"; function x(p1,p2){ } delete x; //报错,不允许删除函数
-
-
语句:
ECMAScript中的语句以分号;结尾。省略分号意味着让解析器确定语句在哪里结尾。不加分号没有错误但是不推荐。
if之类的控制语句中建议使用代码块{},即使要执行的只有一条语句
if(test) console.log(123);//有效,但不推荐 if(test){ console.log(123);//推荐使用代码块,即使只有一条语句 }
2. 关键字和保留字
-
ECMA-262规定了一组关键字,这些关键字有特殊用途。保留的关键字不能用作标识符或属性名。
-
也规定了一组未来的保留字,同样不能用作标识符或属性名。虽然保留字现在在语言中没有特殊用途,