语法
-
注释
源于PL/I的/* */型既可以出现在字符串字面量中,也可能出现在正则表达式字面量中,如
*
var a = /a*/.match(s);
*/
故一般建议使用//型注释
-
保留字
语句、变量、参数、属性名、运算符和标记等标识符不允许使用保留字,此外在对象字面量中,或用点运算提取对象属性时,也都不能用保留字做属性名
-
数字
JavaScript只有一种数字类型,即64位浮点数
-
字符串
1.JavaScript中所有的字符都是16位的
2.转义字符可以将反斜线,引号,和控制字符等不被允许的字符插入到字符串中
3.u用来约定指定数字字符编码"A"==="u0041"
4.字符串一旦被创建就无法被改变,只能通过+等操作符创建新字符串
-
语句
1.JavaScript中的代码块{}不会创建新的作用域,故变量应该定义在函数的头部,而不是代码块中
2.被当做假的值false,null,' ',0,NaN
3.JavaScript不允许在return关键字和表达式之间换行,也不允许在break关键字和标签之间换行
对象
-
定义
JavaCript中的对象是可变的键控集合,是属性的容器,属性名可以是包括空字符串
在内的任意字符串,属性值是除undefined值之外的任何值
-
对象字面量
一个对象字面量就是包围在一对花括号中的零个或多个名/值对,其中若 属性是合法的JavaScript标识符(字母开头,加数字、下划线组成)且不是保留字,则并不强制要求加引号
-
对象值得检索
属性名为非合法的JavaScript标识符,需用[]来读值,为合法的标识符且不是保留字,则也可以用.
来读值,通常更倾向于.,因为其效率更高更紧凑,尝试从undefined的成员属性中读值会导致TypeError
异常,如
flight.equipment // undefined
flight.equipment.model // throw "TypeErrpr"
学习交流加群:230354270
-
引用
对象通过引用传递,不会被传递,换句话说var a = {}; b = a;b则和a指向同一块内存
-
原型
何为委托?沿原型链查找的过程就是委托(ps:原型链的末端是Object.prototype)
-
反射
获取对象上的属性而不要原型中的属性,使用hasOwnProperty()检查,若为对象实例上的属性,则会返回true
-
枚举
for in可用来遍历一个对象上的所有属性名(包括实例和原型),但需注意的是for in遍历出来的属性是无序的
-
删除
delete无法删除原型中的属性
-
减少全局变量污染
措施:声明一个全局变量,作为命名空间,然后将应用资源都放到这个命名空间中,可以有效的减少与其他程序,组件,类库的冲突。学习交流加群:230354270。
- 我的微信
- 这是我的微信扫一扫
- 我的微信公众号
- 我的微信公众号扫一扫