在现代浏览器(JavaScript 1.8.5 / Firefox 4+)中,根据ECMAScript 5规范,undefined是不可配置的,不可写的属性。即使不是这种情况,也请避免覆盖它。
undefined的属性属性之一是不可写的。
但是,如果我这样做:
var undefined = 'hello';
var test = undefined;
console.log(typeof test);
//string
这是否意味着我可以覆盖的值undefined
?如果有人这样做会怎样?JavaScript是否应该对此发出警告?
typeof undefined
返回"undefined"
。
"undefined"
是一个字符串。问题不在于要typeof (typeof undefined)
评估什么。它问什么typeof undefined
评估。它返回"undefined"
,而不是"string"
typeof ______
是一个表达式,其结果为包含的类型的字符串______
。您误解了这个问题。
typeof test === "undefined"
)