【问题标题】:In javascript, how can i know if an html object property is a property, a method or an event?在 javascript 中,我如何知道 html 对象属性是属性、方法还是事件?
【发布时间】:2020-10-22 08:09:42
【问题描述】:

这是我试图在 Javascript 中解决的一个有趣的问题...假设我们有一个像锚标记这样的 HTML 对象,我可以枚举它的属性,但我真正需要做的是获取属性它是属性的类型:它是属性、方法还是事件?如何获取该类型信息?

使用 jQuery 我可以检查它是否是一个函数 $.isFunction(reference) 但我正在寻找一个纯 JS 解决方案。

根据我的理解,属性是对象,事件也是对象,所以我只需要检查它是否具有某些属性来识别它是否是事件。

问题是那个属性是什么?

非常感谢!

【问题讨论】:

  • typeof 标识函数 - 属性也不能是事件......虽然可以使用 oneventname 添加事件处理程序 - 所以如果属性以 @ 开头987654324@ 它可能是一个事件处理程序 - 但 oneventname 将是 nullfunction
  • “根据我的理解,属性是一个对象”——不,属性附加到对象上,它们可以有任何类型的值。
  • 这闻起来有点像XY Problem

标签: javascript object properties


【解决方案1】:

它是一个属性

总是

一种方法

typeof thatPropertyValue === "function"

一个事件

几乎没有,但是:

thatPropertyValue instanceof Event

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-11-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-26
    • 1970-01-01
    • 2022-07-01
    • 2012-06-21
    相关资源
    最近更新 更多