Effective JavaScript :第一章
2016-05-16 19:57
344 查看
第一章
一、严格模式与非严格模式
1.在程序中启用严格模式的方式是在程序的最开始增加一个特定的字符串字面量:
同样可以在函数体的开始处加入这句指令以启用该函数的严格模式。
在严格模式下,不允许重复定义argument变量。例如以下代码在严格模式下会出错:
2.避免对混合类型使用 == 运算符:
(1)当参数类型不同时,==运算符应用了一套难以理解的隐式强制转换规则。
(2)使用 === 运算符,使读者不需要涉及任何的隐式强制转换就能明白你的比较运算。
(3)当比较不同类型的值时,使用你自己的显式强制转换使程序的行为更清晰。
3.分号插入的局限
(1)分号仅在 } 标记之前、一个或多个换行之后和程序输入的结尾被插入。
(2)分号仅在随后的输入标记不能解析时插入。
(3)在以(、[、+、-或/字符开头的语句前绝对不能省略分号。
(4)当脚本连接的时候,在脚本之间显示地插入分号。
(5)在return、throw、break、continue、++或--的参数之前绝不能换行。
(6)分号不能作为for循环的头部或空语句的分隔符而被推导出。
一、严格模式与非严格模式
1.在程序中启用严格模式的方式是在程序的最开始增加一个特定的字符串字面量:
‘use strict’
同样可以在函数体的开始处加入这句指令以启用该函数的严格模式。
function f(x) { ‘use strict’; //... }
在严格模式下,不允许重复定义argument变量。例如以下代码在严格模式下会出错:
function f(x) { ‘use strict’; var arguments = [ ]; //error :redefinition of arguments //... }
2.避免对混合类型使用 == 运算符:
(1)当参数类型不同时,==运算符应用了一套难以理解的隐式强制转换规则。
(2)使用 === 运算符,使读者不需要涉及任何的隐式强制转换就能明白你的比较运算。
(3)当比较不同类型的值时,使用你自己的显式强制转换使程序的行为更清晰。
3.分号插入的局限
(1)分号仅在 } 标记之前、一个或多个换行之后和程序输入的结尾被插入。
(2)分号仅在随后的输入标记不能解析时插入。
(3)在以(、[、+、-或/字符开头的语句前绝对不能省略分号。
(4)当脚本连接的时候,在脚本之间显示地插入分号。
(5)在return、throw、break、continue、++或--的参数之前绝不能换行。
(6)分号不能作为for循环的头部或空语句的分隔符而被推导出。
相关文章推荐
- fastclick 解决js穿透问题
- JSON net.sf.jason使用
- JS验证码
- [JavaScript] 6.JS 常见内置对象
- [JavaScript] 5.JS Event机制
- [JavaScript] 4.JS 事件机制
- 原生态纯JavaScript 100大技巧大收集
- 浅谈javascript的Touch事件
- Javascript DOM编程艺术
- RSA的JavaScript程序
- js时间戳转成时间格式
- js compress 图片
- json的前后台传递
- 手把手教你写电商爬虫-第四课 淘宝网商品爬虫自动JS渲染
- 模板引擎——artTemplate使用方法
- javascript中的&&
- js实现图片预加载
- Fastjson
- javascript 终止函数执行
- 一个非常酷的Js计算器(加减乘除,浮点,以及括号运算,四则混合运算)