if(!o.hasOwnProperty('myProperty) { alert("myProperty does not exist");}6 }) k. l/ Q) ?% y& Z e
检查与标识符相关的值是否为特殊值undefined,或者标识符是否尚未声明。注意:这种方法是引用未声明(注:与 值不同undefined)唯一没有早期错误的方法:5 e) m9 E5 k ^7 |6 W
& f3 J# J( {. M+ {
if(typeof myVariable === 'undefined') { alert('myVariable is either the special value `undefined`,or it has not been declared」code]在 ECMAScript 5 以前的 JavaScript 版本中,全局对象被称为undefined属性是可写的,所以foo === undefined如果不小心重新定义了一个简单的检查,可能会发生意外。JavaScript 中,这个属性只读。4 E# b' s( r: ~, c# w6 [
但在现代 JavaScript 中,未定义不是关键词,因此函数中的变量可以命名为未定义,并隐藏整体属性。/ S( R4 `0 m4 w6 n
如果你担心这种边缘(不太可能),你可以使用它void 获得特殊操作符undefined值本身:[code]if(myVariable === void alert("myVariable is the special value `undefined`");} 6 k5 X" `0 g" S3 p