数码资讯
解析这是不同的构造函数在Javascript都可以回归真实
我们知道,instanceof运算符是用来检查一个对象是否是一个构造函数的实例。下面是一个列表的各种场景,它返回TRUE。 1、通过新的构造函数创建对象,然后对象实例构造函数是真实的 复制代码代码如下所示: 函数人(n,a){ this.name = N; this.age =一; } var p
选购提示
关注价格、性能、续航、售后和真实使用场景,理性比较后再下单。
我们知道,instanceof运算符是用来检查一个对象是否是一个构造函数的实例。下面是一个列表的各种场景,它返回TRUE。
1、通过新的构造函数创建对象,然后对象实例构造函数是真实的
复制代码代码如下所示:
函数人(n,a){
this.name = N;
this.age =一;
}
var p =新的人(约翰巴科斯,82);
console.log(P是人); / /真的
2。如果一个遗传有关系,那么子类的实例是母公司将返回真
复制代码代码如下所示:
函数(a){
函数(b){ }
b.prototype =新(一); / / B继承
新的b();
console.log(B是A); / /真的
3,因为对象是根类,所有其他的自定义类继承,所以任意构造函数、实例对象的实例,返回TRUE
复制代码代码如下所示:
函数(a){
var =新的a();
console.log(一个实例对象); / /真的
var str =新的字符串(你好);
console.log(str实例对象); / /真的
新数字(1);
console.log(Num实例对象); / /真的
甚至构造函数本身
复制代码代码如下所示:
函数(a){
console.log(一个实例对象); / /真的
console.log(String实例对象); / /真的
console.log(数字实例对象); / /真的
4。所有的构造函数是函数返回TRUE
复制代码代码如下所示:
函数(a){
console.log(一个是功能); / /真的
console.log(String实例功能); / /真的
console.log(数是函数); / /真的
用一句话来概括上述四点:如果一个实例的类或其子类创建的实例,然后返回真。或构造函数的原型存在于这个对象的内部原型链,然后返回TRUE,instanceof结果不是构造函数本身直接相关。在许多语言中这是常见的。
一类人是指在java,并且实例P返回真个人与对象
复制代码代码如下所示:
类人{
公用字符串名;
公共年龄;
Person (String n, int a) {
this.name =名称;
this.age =一;
}
public static void main(String { } args){
人P =新的人(John Backus
System.out.println(P是人); / /真的
System.out.println(P实例对象); / /真的
}
}
如果有继承的子类的实例是java,然后家长也回到了真实
复制代码代码如下所示:
父类
类人{
公用字符串名;
公共年龄;
人(String,int){
名称=名称;
年龄=;
}
}
子类
公共类的人扩展{
公立弦大学;
人(字符串n,int,字符串s){
超级(N,A);
大学=;
}
public static void main(String { } args){
男人毫米=新的人(John Resig
System.out.println(MM是男人); / /真的
System.out.println(MM是人); / /真的
}
}
知道了这一点,JS中的以下表现就不足为奇了。
复制代码代码如下所示:
定义两个构造函数
函数(a){
函数(b){ }
a.prototype = b.prototype = { 1 };
分别创建两个不同的实例构造函数
var =新的a();
新的b();
console.log(A是B); / /真的
console.log(B是A); / /真的
我们看到,B,A和B分别创造的,但一个是B和B是一个是真实的,虽然不是用构造函数B创建,它还是回到真实的。因为在A的内部原型链存在b.prototype
因为JS的动态语言的特性,它可以在运行时修改原型,所以这并不奇怪,返回false下面。链中断因为a.prototype不再是A的内部原型链
复制代码代码如下所示:
函数(a){
var =新的a();
a.prototype = {}; / /动态修改原型,注意一定要在建立一个支付
console.log(一个是一个); / /假
请注意,这也打破了第一篇总结以上:对象是通过新的构造函数创建对象实例的构造函数,然后是真的
实际上,在ECMAscript标准(5.1),构造函数的内部实现,hasinstance } { { },在中实现的,描述如下
如果f是一个函数对象,当执行f(V)时,将执行以下步骤:
1。如果是左运算单元V不是一个对象类型,它直接返回false
复制代码代码如下所示:
VaR,B = 1,C = true,D =你好;
console.log(一个实例对象); / /假凡值定义
console.log(B实例对象); / /假
Console.log(C实例对象); / /假
console.log(D实例对象); / /假
2 / 3,构造函数的原型属性F,如果不是对象类型的必须抛出TypeError异常。
复制代码代码如下所示:
函数(a){
a.prototype = 1; / /非对象类型的一个原型
var =新的a();
console.log(一个是一个);
浏览器抛出的异常提示是不同的。
firefox18:
chrome24:
safari6:
opera12:
IE10:
4,继续执行以下逻辑:v将V设置为内部原型,如果v为null,返回false,如果v和o指向同一对象,则返回真值。
1、通过新的构造函数创建对象,然后对象实例构造函数是真实的
复制代码代码如下所示:
函数人(n,a){
this.name = N;
this.age =一;
}
var p =新的人(约翰巴科斯,82);
console.log(P是人); / /真的
2。如果一个遗传有关系,那么子类的实例是母公司将返回真
复制代码代码如下所示:
函数(a){
函数(b){ }
b.prototype =新(一); / / B继承
新的b();
console.log(B是A); / /真的
3,因为对象是根类,所有其他的自定义类继承,所以任意构造函数、实例对象的实例,返回TRUE
复制代码代码如下所示:
函数(a){
var =新的a();
console.log(一个实例对象); / /真的
var str =新的字符串(你好);
console.log(str实例对象); / /真的
新数字(1);
console.log(Num实例对象); / /真的
甚至构造函数本身
复制代码代码如下所示:
函数(a){
console.log(一个实例对象); / /真的
console.log(String实例对象); / /真的
console.log(数字实例对象); / /真的
4。所有的构造函数是函数返回TRUE
复制代码代码如下所示:
函数(a){
console.log(一个是功能); / /真的
console.log(String实例功能); / /真的
console.log(数是函数); / /真的
用一句话来概括上述四点:如果一个实例的类或其子类创建的实例,然后返回真。或构造函数的原型存在于这个对象的内部原型链,然后返回TRUE,instanceof结果不是构造函数本身直接相关。在许多语言中这是常见的。
一类人是指在java,并且实例P返回真个人与对象
复制代码代码如下所示:
类人{
公用字符串名;
公共年龄;
Person (String n, int a) {
this.name =名称;
this.age =一;
}
public static void main(String { } args){
人P =新的人(John Backus
System.out.println(P是人); / /真的
System.out.println(P实例对象); / /真的
}
}
如果有继承的子类的实例是java,然后家长也回到了真实
复制代码代码如下所示:
父类
类人{
公用字符串名;
公共年龄;
人(String,int){
名称=名称;
年龄=;
}
}
子类
公共类的人扩展{
公立弦大学;
人(字符串n,int,字符串s){
超级(N,A);
大学=;
}
public static void main(String { } args){
男人毫米=新的人(John Resig
System.out.println(MM是男人); / /真的
System.out.println(MM是人); / /真的
}
}
知道了这一点,JS中的以下表现就不足为奇了。
复制代码代码如下所示:
定义两个构造函数
函数(a){
函数(b){ }
a.prototype = b.prototype = { 1 };
分别创建两个不同的实例构造函数
var =新的a();
新的b();
console.log(A是B); / /真的
console.log(B是A); / /真的
我们看到,B,A和B分别创造的,但一个是B和B是一个是真实的,虽然不是用构造函数B创建,它还是回到真实的。因为在A的内部原型链存在b.prototype
因为JS的动态语言的特性,它可以在运行时修改原型,所以这并不奇怪,返回false下面。链中断因为a.prototype不再是A的内部原型链
复制代码代码如下所示:
函数(a){
var =新的a();
a.prototype = {}; / /动态修改原型,注意一定要在建立一个支付
console.log(一个是一个); / /假
请注意,这也打破了第一篇总结以上:对象是通过新的构造函数创建对象实例的构造函数,然后是真的
实际上,在ECMAscript标准(5.1),构造函数的内部实现,hasinstance } { { },在中实现的,描述如下
如果f是一个函数对象,当执行f(V)时,将执行以下步骤:
1。如果是左运算单元V不是一个对象类型,它直接返回false
复制代码代码如下所示:
VaR,B = 1,C = true,D =你好;
console.log(一个实例对象); / /假凡值定义
console.log(B实例对象); / /假
Console.log(C实例对象); / /假
console.log(D实例对象); / /假
2 / 3,构造函数的原型属性F,如果不是对象类型的必须抛出TypeError异常。
复制代码代码如下所示:
函数(a){
a.prototype = 1; / /非对象类型的一个原型
var =新的a();
console.log(一个是一个);
浏览器抛出的异常提示是不同的。
firefox18:
chrome24:
safari6:
opera12:
IE10:
4,继续执行以下逻辑:v将V设置为内部原型,如果v为null,返回false,如果v和o指向同一对象,则返回真值。
声明:本文内容用于数码产品信息整理与选购参考,具体价格、库存、售后政策以官方渠道和电商页面实时信息为准。