我正在努力使用关键字'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
的目的是什么?
答案 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。