- 1
- 0
- 约2.96千字
- 约 5页
- 2026-02-12 发布于北京
- 举报
JavaScript严格模式(usestrict)
JavaScript严格模式(strictmode)即在严格的条件下运行。
使用usestrict指令
usestrict指令在JavaScript1.8.5(ECMAScript5)中新增。
它不是一条语句,但是是一个字面量表达式,在JavaScript旧版本中会被忽略。
usestrict的目的是指定代码在严格条件下执行。
严格模式下你不能使用未的变量。
支持严格模式的浏览器:
InternetExplorer10+、Firefox4+Chrome13+、Safari5.1+、Opera12+。
严格模式
严格模式通过在或函数的头部添加usestrict;表达式来。
实例中我们可以在浏览器按下F12(或点击工具工具开发者工具)开启调试模式,查看报错信息。
Gif图演示如下:
实例
usestrict;
x=3.14;//报错(x未定义)
实例
usestrict;
myFunction();
functionmyFunction(){
y=3.14;//报错(y未定义)
}
在函数是局部作用域(只在函数内使用严格模式):
实例
x=3.14;//不报错
myFunction();
functionmyFunction(){
usestrict;
y=3.14;//报错(y未定义)
}
为什么使用严格模式:
消除Javascript语法的一些不合理、不严谨之处,减少一些怪异行为;
•消除代码运行的一些不安全之处,保证代码运行的安全;
•提高编译器效率,增加运行速度;
•为未来新版本的Javascript做好铺垫。
严格模式体现了Javascript更合理、更安全、更严谨的发展方向,包括IE10在内的主流浏览器,都已经支持它,许多大项目
已经开始全面拥抱它。
另一方面,同样的代码,在严格模式中,可能会有不一样的运行结果;一些在正常模式下可以运行的语句,在严格模式下
将不能运行。掌握这些内容,有助于更细致深入地理解Javascript,让你变成一个更好的程序员。
严格模式的限制
不允许使用未的变量:
usestrict;
x=3.14;//报错(x未定义)
对象也是一个变量。
usestrict;
x={p1:10,p2:20};//报错(x未定义)
不允许删除变量或对象。
usestrict;
varx=3.14;
deletex;//报错
不允许删除函数。
usestrict;
functionx(p1,p2){};
deletex;//报错
不允许变量重名:
usestrict;
functionx(p1,p1){};//报错
不允许使用八进制:
usestrict;
varx=010;//报错
不允许使用转义字符:
usestrict;
varx=\010;//报错
不允许对只读属性赋值:
usestrict;
varobj={};
Object.defineProperty(obj,x,{value:0,writable:false});
obj.x=3.14;//报错
不允许对一个使用getter方法的属性进行赋值
usestrict;
varobj={getx(){return0}};
obj.x=3.14;//报错
不允许删除一个不允许删除的属性:
usestrict;
deleteObject.prototype;//报错
变量名不能使用eval字符串:
usestrict;
vareval=3.14;//报错
变量名不能使用arguments字符串:
usestrict;
vararguments=3.1
您可能关注的文档
最近下载
- 2022年7月10日多省(市、区)公务员考试《公安专业科目》真题及答案 (2).docx VIP
- 2026年党支部班子在对照加强理论武装、执行上级组织决定、抓好自身建设等“六个对照方面”检查材料.docx VIP
- 高一数学必修一期末试卷及答案解析.doc VIP
- 安徽省芜湖市无为市部分学校2025-2026学年八年级上学期1月期末考试语文试卷(含答案).docx VIP
- 2022年福建莆田城投融资平台分析.pdf VIP
- 2022年福建龙岩城投融资平台分析.pdf VIP
- 16第十六章-公估报告的编写.docx VIP
- 2022年福建漳州城投融资平台分析.pdf VIP
- (班子、个人)2025民主生活会“五个方面带头”对照检查材料(强化政治忠诚、固本培元、三个敬畏、干事创业、管党治党).docx VIP
- 医疗安全(不良)事件、纠纷(预警)记录本.pdf
原创力文档

文档评论(0)