什么是一个实例?或者是什么?

时间:2013-12-06 05:53:57

标签: javascript

我正在努力使用关键字'instance'。在Java中,我只知道如何创建“new”关键字。现在,我正在学习JavaScript,一些作者大量使用“实例”这个词:

function Foo(){}

var foo = new Foo();

//foo is now an instance of Foo
console.log(foo instanceof Foo ) //=> true

制作foo instanceof Foo的目的是什么?

5 个答案:

答案 0 :(得分:1)

  

instanceof运算符将对象与指定类型进行比较。您   可以使用它来测试对象是否是类的实例,实例   子类的实现,或实现特定的类的实例   接口

了解更多JavaDoc

但这是Java。不是Javascript

答案 1 :(得分:1)

instanceof是一个二元运算符, instanceof允许检查对象是否由给定的构造函数创建:

如果object是类的实例,则instanceof运算符返回true。如果对象的原型链中存在类,则返回true。如果object不是类的实例,或者object为null,则返回false。

function Rabbit() { }
var rabbit = new Rabbit

alert(rabbit instanceof Rabbit) // true

在上面的例子中,匹配是在第一步找到的,因为:rabbit。 proto == Rabbit.prototype。

很少有用的链接

What is the instanceof operator in JavaScript?

http://www.w3schools.com/js/js_objects.asp

http://javascript.info/tutorial/instanceof#the-instanceof-operator

答案 2 :(得分:1)

你有一个班级Person。在课程中,我的意思是您定义 Person 应该具有的属性 例如:姓名,年龄,体重等。 。现在你可以说,我正在创建一个“instanceof”姓名为“Peter”的人,年龄= 25,体重=“70磅”。现在。当您调用“is instanceof”时,您所拥有的对象的属性将根据您要比较的类的属性/签名/元数据进行映射。

例如:

class Person
{
    String name;
    int age;
    double weight;
}

....

Person p = new Person();
boolean b = (p isInstanceOf Person) // returns true

答案 3 :(得分:0)

instanceof

JavaScript还没有类(但是),但它确实有构造函数,一个定义对象和构造函数之间关系的instanceof运算符,以及一个基于原型链的继承形式。

<强>实例

变量将保存对象实例的引用。

实际对象是一个实例。

答案 4 :(得分:0)

instanceof关键字

它检查对象引用是否是类型的实例,并返回一个布尔值;

<object-reference> instanceof Object将为所有非空对象引用返回 true ,因为所有Java对象都是从Object继承的。如果instanceof 为空,则<object-reference>将始终返回false。

或者我们可以这样说:

instanceof 运算符为我们提供了一种测试用于创建给定对象的构造函数的方法。如果引用的特定对象的构造函数是用于创建的对象,则计算结果为true正在测试的对象,如果指定对象的构造函数不是使用的对象,则求值为false。