分享至javascript语言精髓与编程实践

开启严格模式(”use strict"):

在全局代码的开始处加入

在eval代码的开始处加入

在函数声明代码处加入

在new Function() 所传入的body参数块开始处加入

1:在对象中声明相同的属性名

例如: var obj ={

'name': 1,

'name': 2

};

会抛出SyntaxError: Duplicate data property in object literal not allowed in strict mode.

2:在函数声明中相同的参数名

例如: "use strict";

function fix(a,b,a) {

return a+b;

}

会抛出 SyntaxError: Strict mode function may not have duplicate parameter names .

3:不能用前导0声明8进制直接量

例如: var a = 012;

会抛出 SyntaxError: Octal literals are not allowed in strict mode.

4: 不能重新声明、删除或重写eval和arguments这两个标示符

var eval = ......;

会抛出  SyntaxError: Assignment to eval or arguments is not allowed in strict mode

5:用delete删除显示声明的标识符、名称和具名函数

function temp() {

'use strict';

var test = 1;

delete test;

}

会抛出 SyntaxError: Delete of an unqualified identifier in strict mode.

6.代码中使用扩展的保留字,例如 interface,let,yield,package,private等

会抛出SyntaxError: Unexpected strict mode reserved word

7.严格模式下是禁止使用with的

会抛出 SyntaxError: Strict mode code may not include a with statement

好了以上都是摘自书上,其实我并不使用严格模式的,但是这些知识还是要储备一些。

关于javascript严格模式下七种禁止使用的写法的更多相关文章

  1. Symbol -- JavaScript 语言的第七种数据类型

    ES5 的对象属性名都是字符串,这容易造成属性名的冲突.比如,你使用了一个他人提供的对象,但又想为这个对象添加新的方法(mixin 模式),新方法的名字就有可能与现有方法产生冲突.如果有一种机制,保证 ...

  2. JavaScript严格模式下this指向

    一般认为:严格模式下this不允许指向全局对象.是函数体是否处于严格模式! 如:http://www.ruanyifeng.com/blog/2013/01/javascript_strict_mod ...

  3. Javascript 严格模式下保留关键字

    为了应对未来的版本,以下关键字在严格模式下禁止使用. implements interface let package private protected public static yield 示例 ...

  4. flink on yarn模式下两种提交job方式

    yarn集群搭建,参见hadoop 完全分布式集群搭建 通过yarn进行资源管理,flink的任务直接提交到hadoop集群 1.hadoop集群启动,yarn需要运行起来.确保配置HADOOP_HO ...

  5. Javascript创建类的七种方法

    /* 第一种定义类的方法 */var cls = new Object();cls.name = "wyf";cls.showName = function(){console.l ...

  6. Javascript 严格模式下不允许删除一个不允许删除的属性

    如下代码,在严格模式下,如果删除 Object.prototype 浏览器会报错,目前 IE10 也支持 严格模式. <script> "use strict"; de ...

  7. 单例(Singleton pattern)模式的七种写法

    转载请注明出处:http://www.cnblogs.com/smbk/ One: public class Singleton { private static Singleton instance ...

  8. 关于 Javascript 严格模式下多文件合并时注意

    Javascript 在第一行使用 "use strict" 声明严格模式. 但是在多个 js 文件合并时就需要注意了,可能你的是严格模式,但别的文件不是,就会造成错误. 为什么使 ...

  9. javascript严格模式下的8点规则

    [作用] [1]消除js语法的一些不合理.不严谨.不安全问题,减少怪异行为并保证代码运行安全 [2]提高编译器效率,增加运行速度 [使用] [1]整个脚本启用严格模式,在顶部执行:"use ...

随机推荐

  1. MVP架构学习

    MVP架构学习 M:数据层(数据库,文件,网络等...) V:UI层(Activity,Fragment,View以及子类,Adapter以及子类) P:中介,关联UI层和数据层,因为V和M是相互看不 ...

  2. nginx添加新模块

    1.下载模块 git clone https://github.com/agentzh/echo-nginx-module 2.放入指定位置 mv echo-nginx-module-master / ...

  3. Java并发编程:Lock(转)

    本文转自:http://www.cnblogs.com/dolphin0520/p/3923167.html Java并发编程:Lock 在上一篇文章中我们讲到了如何使用关键字synchronized ...

  4. Oracle中用sql语句取随机数和整数

    --- 应用round(5.678,3)保留小数 应用floor(5.678)保留整数 应用dbms_random.value(30,50)取得随机数 --- dbms_random包 获得随机小数S ...

  5. JS的魅力

    一.初探JavaScript魅力 基本知识: JavaScript是什么 网页特效原理 -JavaScript就是修改样式 编写JS流程 - 布局:HTML + CSS - 属性:确定修改哪些属性 - ...

  6. [转]HTML标签元素的分类

      在讲解CSS布局之前,我们需要提前知道一些知识,在CSS中,html中的标签元素大体被分为三种不同的类型:块状元素.内联元素和内联块状元素. 常用的块状元素有: <div>.<p ...

  7. 根据iframe获取window

    今天使用layui弹出窗口,需要将函数写在弹出的窗口,但是按钮事件是在父层窗口绑定的,这样就要在父层窗口调用子层窗口的函数. 子层函数与父层函数 function topup() { console. ...

  8. Linux内存管理的基本框架⭐⭐

    Linux内核的映射机制设计成三层,在页面目录和页面表中间增设了一层“中间目录”.在代码中,页面目录称为PGD,中间目录称为PMD,而页面表称为PT.PT中的表项称为PTE,PTE是“Page Tab ...

  9. Jquery4 过滤选择器

    学习要点: 1.基本过滤器 2.内容过滤器 3.可见性过滤器 4.子元素过滤器 5.其他方法 过滤选择器简称:过滤器.它其实也是一种选择器,而这种选择器类似 CSS3里的伪类,可以让不支持 CSS3 ...

  10. ImportError: No module named Crypto.PublicKey

    答: sudo apt-get install python-pip  (如果没有安装pip的话,需要这一操作) pip install pycrypto