JS中的prototype、__proto__与constructor

网友投稿 533 2022-05-30

简单实例

// 定义一个函数 function Foo(name) { this.name = name } // 调用函数 这个函数返回 undefined var foo = Foo('Tom') console.log(foo); // undefined // 调用构造方法 console.log(Foo); // [Function: Foo] console.log(Foo.__proto__); // [Function] console.log(Foo.constructor); // [Function: Function] console.log(Foo.prototype); // Foo {} console.log(Foo.prototype.__proto__); // {} console.log(Foo.prototype.constructor); // [Function: Foo] console.log(Foo.prototype.constructor === Foo); // true // 相当于 Foo.prototype.constructor('Tom') 返回this foo = new Foo('Tom') console.log(foo); // Foo { name: 'Tom' } console.log(foo.__proto__); // Foo {} console.log(foo.prototype); // undefined console.log(foo.constructor); // [Function: Foo] var foo1 = new Foo.prototype.constructor('Tom') console.log(foo1); // Foo { name: 'Tom' } var foo2 = new Foo('Tom') console.log(foo2); // Foo { name: 'Tom' } console.log(foo1 == foo2); // false console.log(foo1.__proto__); // Foo {} console.log(foo1.prototype); // undefined console.log(foo1.constructor); // [Function: Foo] console.log(foo2.__proto__); // Foo {} console.log(foo2.prototype); // undefined console.log(foo2.constructor); // [Function: Foo]

1

2

3

JS中的prototype、__proto__与constructor

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

总结

图片来源和文章参考

帮你彻底搞懂JS中的prototype、__proto__与constructor(图解)

Prototype

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:使用tensorflow版本deepfm预置算法进行训练
下一篇:多任务学习中的目标权重平衡(3)
相关文章