资讯专栏INFORMATION COLUMN

JS中的prototype、__proto__与constructor

BigTomato / 2929人阅读

摘要:寻找原型心法口诀每个对象的原型都指向自身的构造函数的属性所以想要知道某个对象的原型是什么,首先找到他的构造函数是什么个终极类个究极类中特殊数字对象对象并不像和那样是对象的类,因此没有构造函数中类型

1. 寻找原型
心法口诀:每个对象的原型(__proto__)都指向自身的构造函数(constructor)的prototype属性
let b={}

b.constructor === Object
// true
b.__proto__ === Object.prototype
// true
b.__proto__ === b.constructor.prototype
// true

所以想要知道某个对象的原型是什么,首先找到他的构造函数是什么

9个终极类
Array.constructor
// ƒ Function() { [native code] }
Boolean.constructor
// ƒ Function() { [native code] }
Date.constructor
// ƒ Function() { [native code] }
Number.constructor
// ƒ Function() { [native code] }
String.constructor
// ƒ Function() { [native code] }
Object.constructor
// ƒ Function() { [native code] }
RegExp.constructor
// ƒ Function() { [native code] }
Symbol.constructor
// ƒ Function() { [native code] }
1个究极类
Function.constructor
// ƒ Function() { [native code] }
3中特殊数字对象
Math.constructor
// ƒ Object() { [native code] }
// Math 对象并不像 Date 和 String 那样是对象的类,因此没有构造函数 Math()
NaN.constructor
// ƒ Number() { [native code] }
Infinity.constructor
// ƒ Number() { [native code] }
2中bug类型
undefined.constructor
// VM25366:1 Uncaught TypeError: Cannot read property "constructor" of undefined at :1:11
null.constructor
// VM25366:1 Uncaught TypeError: Cannot read property "constructor" of null at :1:11

...

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/105041.html

相关文章

  • JS 原型及原型链学习

    摘要:所以继承了对象的所有方法,当你用时,会先查一下它的构造函数的原型对象有没有有方法,没查到的话继续查一下的原型对象有没有这个方法。 普通函数与构造函数的区别 在命名规则上,构造函数一般是首字母大写,普通函数遵照小驼峰式命名法。 在函数调用的时候: function fn() { } 构造函数:1. new fn( ) 2 .构造函数内部会...

    PiscesYE 评论0 收藏0
  • JS 中的 __proto__ prototype

    摘要:在这篇文章中,他介绍了一种实现继承的方法,这种方法并没有使用严格意义上的构造函数。的左值一般是一个对象,右值一般是一个构造函数,用来判断左值是否是右值的实例。 __proto__ 探究 __proto__隐式原型与prototype显式原型是个容易令人混淆的概念,简而言之prototype是构造函数用来被自己的实例继承的原型,而_proto_是实例用来继承父类原型的载体。 1. 是什么...

    Donald 评论0 收藏0
  • js内功修炼之九阳神功--原型链

    摘要:写在前面如果说是一本武学典籍,那么原型链就是九阳神功。那么,如何修炼好中的九阳神功呢真正的功法大成的技术是从底层上去理解,那种工程师和码农的区别就在于对底层的理解,当你写完一行代码,或者你遇见一个解决的速度取决于你对底层的理解。 写在前面 如果说JavaScript是一本武学典籍,那么原型链就是九阳神功。在金庸的武侠小说里面,对九阳神功是这样描述的:练成「九阳神功」后,会易筋洗髓;生出...

    苏丹 评论0 收藏0
  • js内功修炼之九阳神功--原型链

    摘要:写在前面如果说是一本武学典籍,那么原型链就是九阳神功。那么,如何修炼好中的九阳神功呢真正的功法大成的技术是从底层上去理解,那种工程师和码农的区别就在于对底层的理解,当你写完一行代码,或者你遇见一个解决的速度取决于你对底层的理解。 写在前面 如果说JavaScript是一本武学典籍,那么原型链就是九阳神功。在金庸的武侠小说里面,对九阳神功是这样描述的:练成「九阳神功」后,会易筋洗髓;生出...

    mengbo 评论0 收藏0
  • js内功修炼之九阳神功--原型链

    摘要:写在前面如果说是一本武学典籍,那么原型链就是九阳神功。那么,如何修炼好中的九阳神功呢真正的功法大成的技术是从底层上去理解,那种工程师和码农的区别就在于对底层的理解,当你写完一行代码,或者你遇见一个解决的速度取决于你对底层的理解。 写在前面 如果说JavaScript是一本武学典籍,那么原型链就是九阳神功。在金庸的武侠小说里面,对九阳神功是这样描述的:练成「九阳神功」后,会易筋洗髓;生出...

    Profeel 评论0 收藏0
  • js内功修炼之九阳神功--原型链

    摘要:写在前面如果说是一本武学典籍,那么原型链就是九阳神功。那么,如何修炼好中的九阳神功呢真正的功法大成的技术是从底层上去理解,那种工程师和码农的区别就在于对底层的理解,当你写完一行代码,或者你遇见一个解决的速度取决于你对底层的理解。 写在前面 如果说JavaScript是一本武学典籍,那么原型链就是九阳神功。在金庸的武侠小说里面,对九阳神功是这样描述的:练成「九阳神功」后,会易筋洗髓;生出...

    morgan 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<