JS严格模式
来源:互联网 发布:银行大数据 客户分层 编辑:程序博客网 时间:2024/05/16 15:39
JS 严格模式
1.什么是严格模式呢?
使得JS在一种严格模式下运行。'use strict'
应该只能放在函数体或者文件的第一行
- 消除Javascript语法的一些不合理、不严谨之处,减少一些怪异行为;
- 消除代码运行的一些不安全之处,保证代码运行的安全;
- 提高编译器效率,增加运行速度;
- 为未来新版本的Javascript做好铺垫。
2.改变
- 全局变量必须显式声明,因此,严格模式下,变量都必须先用
var
命令声明,然后再使用.
"use strict";v = 1; // Error.
严格模式对动态绑定做了一些限制。某些情况下,只允许静态绑定。也就是说,属性和方法到底归属哪个对象,在编译阶段就确定。这样做有利于编译效率的提高,也使得代码更容易阅读,更少出现意外。
(1)禁止使用
with
语句,因为with
语句无法在编译时就确定,属性到底归属哪个对象(2)禁止
this
关键字指向全局对象
// 返回false,因为"this"指向全局对象,"!this"就是falsefunction f1(){ return !this;}console.log(f1());// 返回true,因为严格模式下,this的值为undefined,所以"!this"为true。function f2(){ "use strict"; return !this;}console.log(f2());
(3)禁止删除变量,严格模式下无法删除变量。只有configurable设置为true的对象属性,才能被删除。
"use strict"; var x; delete x; // 语法错误 var o = Object.create(null, {'x': { value: 1, configurable: true }}); delete o.x; // 删除成功
参考
Javascript 严格模式详解
0 0
- DOCTYPE 严格模式与JS严格模式
- js strict 严格模式
- js严格模式
- js严格模式
- js之严格模式
- js严格模式详解
- JS严格模式
- js严格模式实例
- js严格模式
- js严格模式
- js-- 严格模式
- js严格模式总结
- JS严格模式
- js严格模式
- js严格模式
- js--严格模式 'use strict'
- js的严格模式总结
- js学习笔记:严格模式
- 暴风魔镜之虚拟漫游(更新中。。。)
- 笔记: 随机数
- 对于动态规划的一些整理
- ATM案例
- iOS高效调试
- JS严格模式
- JSONObject简介
- 支持向量机通俗导论(理解SVM的三层境界)
- 面试遇到的问题
- Could not publish server configuration for Tomcat v7.0 Server at localhost. Multiple Contexts have a
- C++指针实战
- 【NOIP2010】引水入城 {搜索}
- 20161025:今日大数据知识总结(zookeeper回顾+序列化反序列化回顾+avro+zebro项目框架的搭建)
- Activity 启动模式