美文网首页
严格模式

严格模式

作者: Artifacts | 来源:发表于2019-10-11 23:38 被阅读0次

参考详解JavaScript严格模式

ECMAscript 5添加了“严格模式”。一旦使用严格模式,则不严谨的语法代码将不再被支持。

<script>//1  
//在js代码的顶部加上这么一句,声明严格模式的使用
"use strict"; //注意:不能大写
function testFun1 () {
 //此处也为严格模式
}
</script>

<script> //2
//此作用域由于没有声明“严格模式”,因此此作用域的代码按“非严格模式”编译
str = "码农3号"; //不报错
</script>

<script> //3
function testFun2 () {
"use strict";    //只对该函数作用域内的代码有效
}
//此处依然为"非严格模式"
</script>

此处第一组script标签内的代码是使用了“严格模式”,而第二组script标签内的代码不是严格模式。因为每一组script标签就是一个作用域,而严格模式的声明只对所在的作用域生效。

注意

变量必须先声明,再使用

functiontest(){
"use strict";
foo='bar';// Error
}

不能对变量执行delete操作

var foo="test";
functiontest(){}
deletefoo;// Error
deletetest;// Error
functiontest2(arg){
deletearg;// Error
}

对象的属性名不能重复

{foo:true,foo:false}// Error

禁用eval()
函数的arguments参数

setTimeout(functionlater(){// do stuff...setTimeout( later,1000);},1000);

禁用with(){}
不能修改arguments
不能在函数内定义arguments变量
不能使用arugment.caller和argument.callee。因此如果你要引用匿名函数,需要对匿名函数命名

相关文章

  • 面向对象-严格模式、作用域

    严格模式 js有两中开发模式:非严格模式(默认)+严格模式(“ues strict”) 严格模式:会进行更严格的代...

  • JavaScript this

    全局下this 非严格模式/严格模式 window 函数内this 非严格模式 window 严格模式 undef...

  • 开发中的严格模式

    js中有严格模式和非严格模式两种运行环境 在开发中,有非严格模式和严格模式2种开发模式 在严格模式下,会做更加严格...

  • 严格模式和非严格模式

    es6添加了严格模式("use strict")主要作用: 1.严格模式通过抛出错误来消除一些原有的静默错误。 2...

  • JS基本类型和变量

    严格模式 ECMAScripr5引入了严格模式。启用严格模式可以在顶部添加: “use strict” 严格模式下...

  • 严格模式

    ECMScript 5引入严格模式(strict mode)。严格模式定义了一种不同的解析与执行模型,ES3中的不...

  • 严格模式

    概览 严格模式的 目的:使代码更加 安全和 易于优化,代表了这门语言未来的发展方向。我们应该在代码中一直使用。 内...

  • 严格模式

    除了正常的运行模式,JavaScript还有第二种运行模式:“严格模式”(strict mode)。顾名思义,这种...

  • 严格模式this

    在严格模式下,在全局作用域中,this指向window对象(和非严格模式一致) 对象的函数中的this指向调用函数...

  • 严格模式

    JS的严格模式: 定义和优点:严格模式是一种特殊的执行模式,它修复了部分语言上的不足(禁用with),提供了更强的...

网友评论

      本文标题:严格模式

      本文链接:https://www.haomeiwen.com/subject/krcfxctx.html