基本概念 标识符
标识符其实就是标量、函数、属性的名字,命名规则规定以字母、下划线、或者美元符号开头;一般可以采用驼峰命名法来命名,也就是第一个字母小写,剩下单词首字母大写。
严格模式严格模式定义了一种不同的解析与执行模型,在脚本开头,或者函数开头添加‘use strict’,便可以告诉JavaScript引擎切换到严格模式,例如:
function fnShow(){ "use strict"; //函数体 } 语句和其他编程语言不同,在js中语句结尾的分号不是必须的,但是本人认为写的时候还是不要省略,养成良好的编程习惯,避免一些无意义的错误发生。同时加上分号也会提高代码的性能,因为这样解析器就不会花时间推测应该在哪里插入分号。
变量ECMAScript中的变量是松散类型的(有的地方成为弱类型),松散类型就是可以用来保存任何类型的数据。定义变量时,使用var操作符,并且可以定义的同时初始化变量,例如:
var ar = "hello world";用var操作符定义的变量将成为该作用局中的局部变量,如果在函数中用var定义的变量,那么这个变量在函数退出后就会被销毁,而在函数中定义变量的时候省略了var,这实际上是创建了一个全局变量(不推荐这个做法,会污染全局变量,严格模式报错)。
通常建议在创建变量的时候以单var的形式创建,例如:
var name = "jhao", age = 18, city = Chengdu;这样做可以提高代码的可读性,这个建议曾多次在博文中看到过。
数据类型ECMAScript中有5中基本数据类型,分别是Undefined、Null、Number、Boolean和String,还有一种复杂的数据类型是Object,ECMAScript不支持任何创建自定义类型的机制。
typeof操作符typeof操作符用于检测给定变量的数据类型,这里指的注意的是,typeof null的时候返回的是object值,typeof function 的时候返回的是function。unction函数在ECMAScript中是对象而不是一种数据类型,因此可以通过typeof用于区分function和其他对象。