首页 > 试题广场 >

使用了"usestrict"后,以下哪些描述错误

[不定项选择题]
使用了"use strict"后,以下哪些描述错误
  • "use strict";
    var x = 17;
    with (obj) {
      		x;
    }
    //会报obj未定义的错误
  • "use strict";
    var x;
    	delete x;
    //运行正常
  • function f(a){
    		"use strict";
    		a = 42;
       		return a==arguments[0];
    }
    f(5); //运行结果为true
  • function f(str){
    "use strict";
        	return eval(str);
    }
    f(‘alert(1)’);
    //运行正常,弹窗1的对话框
A:严格模式下禁止使用with语句,因为with语句无法在编译时就确定,属性到底归属哪个对象。
B:严格模式下无法删除变量。只有configurable设置为true的对象属性,才能被删除。
C:严格模式下arguments不再追踪参数的变化,在函数内部,参数a被重新赋值为42,但arguments[0]仍然为5。
发表于 2017-08-31 12:17:26 回复(2)
    
严格模式:
禁止未定义就使用的变量
禁止使用 with
严格模式下无法删除变量。只有 configurable 设置为 true 的对象属性,才能被删除。

发表于 2019-08-10 14:40:43 回复(0)
应该是bcd吧
发表于 2017-08-30 19:40:16 回复(0)
use strict 有以下几个特点:

1. 只读属性不能修改
2. 不能删除不可配置属性
3. 禁止拓展的对象不可拓展
4. 不能有重名的参数
5. 不能用eval、arguments做变量名字
6. 禁止意外的全局变量
7. 禁止 this 关键字指向全局对象
8. 禁止使用 arguments.callee、arguments.caller
9. 禁止使用 with 语句
10. 创设 eval 作用域
发表于 2020-12-28 16:19:02 回复(0)