首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在javascript中检查可用的属性或方法的最佳实践?

在javascript中检查可用的属性或方法的最佳实践?
EN

Stack Overflow用户
提问于 2012-09-04 18:57:15
回答 3查看 80关注 0票数 3

我见过许多不同的方法来检查javascript中可用的属性或方法。

代码语言:javascript
运行
复制
if(typeof window.somePropOrMethod​ !== "undefined"){ }

if(window.hasOwnProperty("somePropOrMethod")){ }

if("somePropOrMethod" in window){ }

if(!!window.somePropOrMethod) { }

我应该使用哪一个,为什么?这完全取决于个人喜好,还是它们之间存在细微的差异?

EN

Stack Overflow用户

发布于 2012-09-04 19:08:32

  • if(typeof window.somePropOrMethod​ !== "undefined"){ }

检查somePropOrMethod是否是window的属性,并且它的值不是undefined

直接在对象上以及在其原型链中检查

  • if(window.hasOwnProperty("somePropOrMethod")){ }

检查somePropOrMethod是否显式存在于对象本身(window)上,而不管它的值如何(与#1不同)

仅在对象上直接检查

  • if("somePropOrMethod" in window){ }

检查是否可以在对象本身其原型链上找到somePropOrMethod,而不管它的值如何(与#1不同)

直接在对象上以及在其原型链中检查

  • if(!!window.somePropOrMethod) { }

这里发生的事情是获取somePropOrMethod的值并将其转换为布尔值。如果somePropOrMethodundefined或任何其他False值,则结果始终为false,否则为true

直接在对象上以及在其原型链中检查

票数 1
EN
查看全部 3 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12262058

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档