如何判断JavaScript对象是否为事件?


让我们首先了解什么是JavaScript对象和JavaScript事件。JavaScript对象是一个具有属性和类型的独立实体。例如,把它与碗进行对比。碗是一个具有某些属性的对象。这些属性包括设计、颜色、材质、重量等。同样,JavaScript对象也有一些属性。

一个称为JavaScript对象的独立实体可以存储许多值作为其属性和方法。

方法表示函数,而对象属性保持字面值。可以使用对象字面量或对象函数object() { [native code] }语法创建对象。共有6种不同类型的对象。它们是对象、数组、数字、日期、函数和字符串。

可以使用事件编写响应某些情况的JavaScript代码。一些事件的例子包括:用户点击鼠标、网站加载、onclick、onload、onchange等等都是JavaScript事件的一些例子。

现在我们可以学习如何确定JavaScript对象是否为事件。

使用target属性

在本节中,我们将看到如何使用事件的target属性来确定JavaScript对象是否为事件。

语法

function someAction(obj) {
   if (obj.target) {

      //this JavaScript object is an event
   }
}

在上面的语法中,我们将对象作为函数参数传递,以检查它是否为事件。

算法

  • 步骤1 - 将点击事件附加到按钮

  • 步骤2 - 将字符串作为对象传递给类型识别函数

  • 步骤3 - 使用target属性,在两种情况下显示相应的输出。

示例

在这个例子中,我们创建了空的DOM来显示输出。创建了一个按钮,用于在点击事件上检查事件目标。首先,使用事件处理程序将点击操作附加到按钮。接下来,将字符串作为对象传递。当点击操作发生时,我们得到输出“传递的对象是一个事件”。当字符串的情况执行时,我们得到输出“传递的对象不是一个事件”。

<html> <body> <h2> Using the <i> target </i> Property </h2> <p id="idStrDom"> </p> <button id="idButton"> Click Me </button> <p id="idNullDom"> </p> <script> document.getElementById("idButton").addEventListener("click", doAction); doAction("not event", true); function doAction(obj, isStr) { var isEvent = false; if (obj.target) isEvent = true; var NullDom; if (isStr) { NullDom = document.getElementById("idStrDom"); } else { NullDom = document.getElementById("idNullDom"); } NullDom.innerHTML = "the passed object OBJ is " + (isEvent ? "an event": "not an event"); } </script> </body> </html>

使用instanceof属性

在本节中,我们将看到如何使用事件的instanceof属性来确定JavaScript对象是否为事件。

语法

var obj = new Event('click');
obj instanceof Event; // true means this object is an event

在这里,我们使用new Event()构造函数创建事件对象,并使用instanceof运算符检查它是否为事件。

示例

在这个例子中,我们创建了空的DOM用于显示输出。使用new Event()方法,点击事件作为对象传递。在这里,使用instanceof属性,我们确定此对象是一个事件。下一个案例传递一个字符串值,其输出结果是此对象不是一个事件。

<html> <body> <h2> Using the <i> instanceof </i> property </h2> <p id="idNullDom"> </p> <p id="idStrDom"> </p> <script> doAction("event"); doAction("not event"); function doAction(type) { var obj; if (type == "event") obj = new Event('click'); else obj = "hello"; var isEvent = obj instanceof Event; // true means this object is an event var varNullDom; if (type == "event") { varNullDom = document.getElementById("idNullDom"); } else { varNullDom = document.getElementById("idStrDom"); } varNullDom.innerHTML = "the passed object OBJ is " + (isEvent ? "an event" : "not an event"); } </script> </body> </html>

在本教程中,我们学习了如何确定JavaScript对象是否为事件。第一个属性用作事件的目标。这是一种简单的方法,通过侦听事件监听器来工作。

第二种方法是在使用new Event()时使用instanceof属性。

这两种方法都易于理解,并且可以识别对象是否为事件。

更新于:2022年8月23日

1K+ 次浏览

启动您的职业生涯

完成课程获得认证

开始学习
广告