微信扫一扫打赏支持

js参考---原型prototype 2

js参考---原型prototype 2

一、总结

一句话总结:

原型对象也是对象,所以它也有原型

 

1、js中对象找属性和方法的过程(包括原型对象的原型)?

当我们使用一个对象的属性或方法时,会现在自身中寻找,自身中如果有,则直接使用,如果没有则去原型对象中寻找,如果原型对象中有,则使用,如果没有则去原型的原型中寻找,直到找到Object对象的原型,

 

 

2、js中的object对象的原型有原型么?

Object对象的原型没有原型,如果对象的属性方法找到Object原型中依然没有找到,则返回undefined

 

 

3、对象的hasOwnProperty()方法的作用是什么?

可以使用对象的hasOwnProperty()来检查对象自身中是否含有该属性,使用该方法只有当对象自身中含有属性时(不包括原型中),才会返回true

 

 

 

二、原型prototype 2

博客对应课程的视频位置:

 

 1 <!DOCTYPE html>
 2 <html>
 3     <head>
 4         <meta charset="UTF-8">
 5         <title></title>
 6         <script type="text/javascript">
 7             
 8             /*
 9              * 创建一个构造函数
10              */
11             function MyClass(){
12                 
13             }
14             
15             //向MyClass的原型中添加一个name属性
16             MyClass.prototype.name = "我是原型中的名字";
17             
18             var mc = new MyClass();
19             mc.age = 18;
20             
21             //console.log(mc.name);
22             
23             //使用in检查对象中是否含有某个属性时,如果对象中没有但是原型中有,也会返回true
24             //console.log("name" in mc);
25             
26             //可以使用对象的hasOwnProperty()来检查对象自身中是否含有该属性
27             //使用该方法只有当对象自身中含有属性时,才会返回true
28             //console.log(mc.hasOwnProperty("age"));
29             
30             //console.log(mc.hasOwnProperty("hasOwnProperty"));
31             
32             /*
33              * 原型对象也是对象,所以它也有原型,
34              *     当我们使用一个对象的属性或方法时,会现在自身中寻找,
35              *         自身中如果有,则直接使用,
36              *         如果没有则去原型对象中寻找,如果原型对象中有,则使用,
37              *         如果没有则去原型的原型中寻找,直到找到Object对象的原型,
38              *         Object对象的原型没有原型,如果在Object原型中依然没有找到,则返回undefined
39              */
40             
41             //console.log(mc.__proto__.hasOwnProperty("hasOwnProperty"));
42             
43             //console.log(mc.__proto__.__proto__.hasOwnProperty("hasOwnProperty"));
44             
45             //console.log(mc.__proto__.__proto__.__proto__);
46             
47             //console.log(mc.hello);
48             
49             //console.log(mc.__proto__.__proto__.__proto__)
50             
51         </script>
52     </head>
53     <body>
54     </body>
55 </html>

 

 

 
posted @ 2020-03-07 05:59  范仁义  阅读(183)  评论(0编辑  收藏  举报