这个问题已经在这里有了答案:
已关闭8年。
我有一个关于JavaScript实例的问题。
让我们考虑以下代码:
function Box(col)
{
var color = col;
this.getColor = function()
{
return color;
};
}
var blueBox=new Box("blue");
console.log(blueBox.getColor())
var greenBox=new Box("green");
console.log(greenBox.getColor())
console.log(typeof(blueBox))
console.log(typeof(greenBox))
现在,当我们检查最后两个语句时,浏览器将类型打印为
object
如何检查它们是否从相同的构造函数Box
创建? 最佳答案
您可以像这样使用 instanceof :
var blueBox=new Box("blue");
if (blueBox instanceof Box){
//yay 4 boxes!
}
如果要检查两个元素,还可以比较它们的
constructor
:var blueBox = new Box("blue");
var greenBox = new Box("green");
if (blueBox.constructor === greenBox.constructor){
//yay 4 same constructors
}