javascript严格模式下注意事项

一、变量

1、不允许意外创建全局变量

"use strict";
string= 'hello world!';

2、不能对变量调用delete操作符

"use strict";
var color = 'red';
delete color;

二、对象

1、不能是只读属性赋值

"use strict";
var obj= {
    name:'leying'
};
Object.defineProperty(obj,'name',{
    writable: false
});
person.name = 'lileying';

2、不能为不可配置的属性使用delete操作

"use strict";
var obj= {
    name:'leying'
};
Object.defineProperty(obj,'name',{
    configurable: false
});
delete obj.name;

三 、函数

1、参数必须唯一

"use strict";
function sun(num,num){
    //TODO
}

2、修改形参不会反映到arguments中

function showValue(value){
    value = "hello";
    alert(arguments[0]);
    //非严格模式:"hello"
    //严格模式:"Hi"
}
showValue("Hi");

3、不允许使用arguments.callee和arguments.caller

"use strict";
function fn(num){
    return arguments.callee(num);
}
fn(2);



"use strict";
function outer(){
    inner();
}
function inner(){
    alert(inner.caller());
}
outer();

4、不允许eval()在包含上下文中创建变量或函数

"use strict";
function fn(){
    eval("var x=10");
    alert(x);
}
fn();

5、不允许使用eval和arguments作为标识符,也不允许读写他们的值

"use strict";
var eval = 10;
var arguments = 20;

6、不允许this值为null或undefined

"use strict";
var color = "blue";
function fn(){
    alert(this.color);
}
fn();

7、不允许使用with语句

"use strict";
with(location){
    alert(href);
}

8、不允许使用八进制字面量

"use strict";
var value = 010;
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值