Ste*_*and 10 javascript variables null
只是对JavaScript做一点介绍.我习惯于经常在C++中测试指针的存在,以免崩溃.
从来没有我读哈姆雷特,但我阅读此页有关null并undefined在JavaScript中.
在坚果壳中,我可以:
if (varname == null)
if (varname === null)
if (typeof(varname) != 'undefined')
if (varname != undefined)
if ('varname' in object)
if (object.hasOwnProperty('varname'))
Run Code Online (Sandbox Code Playgroud)
老实说,这对我来说有点太多了:).JavaScript中用于测试变量以避免崩溃的经典方法是什么?
Mik*_*uel 12
由于读取未声明的全局变量的错误,最好使用第三个示例(typeof示例)来检查变量.
if (varname == null)
Run Code Online (Sandbox Code Playgroud)
将告诉您该值是否已定义并且为null并且如果未声明则抛出错误.
if (varname === null)
Run Code Online (Sandbox Code Playgroud)
将告诉您是否定义了值并且确切为null并且如果未声明则抛出错误.
if (typeof(varname) != 'undefined')
Run Code Online (Sandbox Code Playgroud)
会告诉你是否定义了变量而没有抛出错误.
if (varname != undefined)
Run Code Online (Sandbox Code Playgroud)
与第一个相反.
if ('varname' in object)
Run Code Online (Sandbox Code Playgroud)
将告诉您对象本身或其原型链中的某个属性是否具有属性.这不能保证适用于主机对象.
if (object.hasOwnProperty('varname'))
Run Code Online (Sandbox Code Playgroud)
将告诉您对象是否具有自己的属性,忽略原型链.如果已设置名为"hasOwnProperty"的属性,则会中断.
if (Object.hasOwnProperty.call(object, 'varname'))
Run Code Online (Sandbox Code Playgroud)
是最后一个更可靠的版本.
| 归档时间: |
|
| 查看次数: |
295 次 |
| 最近记录: |