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严格模式的主要内容,如果未能解决你的问题,请参考以下文章