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

2017-03-31  本文已影响4人  MGd

严格模式

var num = 033   //数值以0开头,是以八进制的方式来处理
直接报错
var num = 0x33   //数值以0x开头,是以十六进制的方式来处理
不会报错
在严格模式下,不能删除全局变量(直接报错)
在默认情况下,可以删除全局变量,会静默失败(报错却不显示)
function func(){
console.log(this);
}
func();
默认情况下,this指向的是window,严格模式下this指向的是undefind
在默认情况下,如果函数内部形参被重新设置,那么arguments也会跟着改变
在严格模式情况下,如果函数内部形参被重新设置,那么arguments不会被改变,他们是相互独立的。
值类型的数据作为函数的参数
引用类行的数据作为函数的参数

作用域

var demo = "测试";
function fi(){
    var demo = "demo";
    f2();
}
function f2(){
    console.log(demo);
}
f2()   //测试
f1()  //测试
上一篇 下一篇

猜你喜欢

热点阅读