es5严格模式

Posted fhzm

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了es5严格模式相关的知识,希望对你有一定的参考价值。

es3和es5产生冲突的部分使用es5的方法,否则使用es3

“use strict”

变量赋值前必须声明,var a=b=2;(b没有定义)

局部this必须被赋值 赋给什么就是什么

拒绝重复属性和参数

arguments.calle 不能被使用

function.caller

with:改变作用域链

var obj={
    name:"zzz"
}
var ddd={
    name:"ggg",
}
function test(){
    var name="aaa"
    with(obj){
        console.log(name)
    }
}

with,可以把里面的域改到作用域的最顶端,也就是说访问的是obj里面的name

 

eval(“console.log(123)”)可以将里面的字符串当代码用

 

关于this补充

1.函数预编译过程中,this指向的是window

2. 全局的作用域里this指向的是window

3.call/appay 可以改变this指向

4.obj.function里面的this,谁调用的就指向谁

以上是关于es5严格模式的主要内容,如果未能解决你的问题,请参考以下文章

es5严格模式

ES5严格模式

es5严格模式简谈

es5严格模式

ES5严格模式

JavaScript 严格模式