js学习笔记(严格模式)
2016-05-29 11:13
309 查看
一、严格模式
可以在<script>标签中使用
1、标准与严格模式的区别:
——隐式声明或定义变量:在标准模式下,允许未定义直接赋值(这就相当于定义了一个全局变量:window.xxx),而采用严格模式就会出错。
——对象重名的属性:
在标准模式下允许对象有重名属性,而在严格模式下会报语法错误:
可以在<script>标签中使用
"use strict";表明在这整个js代码中使用严格模式,也可以在某个函数中写上这句,表明在这个函数中采用严格模式。
1、标准与严格模式的区别:
——隐式声明或定义变量:在标准模式下,允许未定义直接赋值(这就相当于定义了一个全局变量:window.xxx),而采用严格模式就会出错。
——对象重名的属性:
var obj = {a:1,b:2,a:3}; //obj.a = 3
在标准模式下允许对象有重名属性,而在严格模式下会报语法错误:
"use strict"; var obj = {a:1,b:2,a:3};<span style="color:#ff0000;">//SyntaxError</span>——arguments.callee实现匿名函数的递归:
var count = 0; (function(){ "use strict"; if(count > 10){ return; } count ++; arguments.callee();<span style="color:#ff0000;">//TypeError</span> })();——with语句:在严格模式下被禁用
var x,y; (function(){ "use strict"; with(Math){ <span style="color:#ff0000;">//SyntaxError</span> x = cos(3 * PI) + sin(LN10); y = tan(14 * E); } })();——....
相关文章推荐
- JQuery1——基础($对象,选择器,对象转换)
- Android学习笔记(二九):嵌入浏览器
- Android java 与 javascript互访(相互调用)的方法例子
- JavaScript演示排序算法
- javascript实现10进制转为N进制数
- html5 web数据存储
- 最后一次说说闭包
- Ajax
- SEO
- 2019年开发人员应该学习的8个JavaScript框架
- HTML中的script标签研究
- 对一个分号引发的错误研究
- 异步流程控制:7 行代码学会 co 模块
- [译] React 入门
- ES6 走马观花(ECMAScript2015 新特性)
- JavaScript拆分字符串时产生空字符的原因
- Canvas 在高清屏下绘制图片变模糊的解决方法