位置:首页 > 软件操作教程 > 编程开发 > JavaScript > 问题详情

JavaScript 归属检测

提问人:刘团圆发布时间:2020-11-24

■知识点

    in运算符能够检测左侧操作数是否为右侧操作数的成员。其中左侧操作数是一个字符串,或者可以转换为字符串的表达式,右侧操作数是一个对象或数组。

    instanceof运算符能够检测左侧的对象是否为右侧类型的实例。

■实例设计

    下面的代码使用in运算符检测属性a、b、c、valueOf是否为对象o的成员。

var o = {           //定义对象

    a:1,            //定义属性a

    b:function(){}  //定义方法b

}

console.log("a" in o);               //返回true

console.log("b" in o);               //返回true

console.log("c" in o);                //返回false

console.log("valueOf" in o);      //返回true,继承Object的原型方法

console.log("constructor" in o);  //返回true,继承Object的原型属性

下面的代码使用instanceof检测数组a是否为Array、Object和Function的实例。

var a = new Array();                     //定义数组

console.log(a instanceof Array);   //返回true

console.log(a instanceof Object);  //返回true,Array是Object的子类

console.log(a instanceof Function);//返回false

提示:

    如果左侧操作数不是对象,或者右侧操作数不是类型函数,则返回false。如果右侧操作数不是复合型对象,则将返回false。

继续查找其他问题的答案?

相关视频回答
回复(0)
返回顶部