码迷,mamicode.com
首页 > 编程语言 > 详细

JavaScript原型及原型链

时间:2015-08-11 15:36:08      阅读:105      评论:0      收藏:0      [点我收藏+]

标签:

代码一:

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title></title>
    <script>
        function Car (desc) {
            this.desc = desc;
            this.color = "red";
        }

//        Car.prototype = {
        //            getInfo: function() {
        //                return ‘A ‘ + this.color + ‘ ‘ + this.desc + ‘.‘;
        //            }
        //        };
        //instantiate object using the constructor function
        var car=new Car("bmw");
//        var car =  Object.create(Car.prototype);
//        console.log(car.getInfo());
        console.log(car instanceof  Car);
        console.log(car.color);
        console.log(car.desc);
    </script>
</head>
<body>

</body>
</html>


以上code输出结果为:  

true
red
bmw

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title></title>
    <script>
        function Car (desc) {
            this.desc = desc;
            this.color = "red";
        }

//        Car.prototype = {
        //            getInfo: function() {
        //                return ‘A ‘ + this.color + ‘ ‘ + this.desc + ‘.‘;
        //            }
        //        };
        //instantiate object using the constructor function
//        var car=new Car("bmw");
        var car =  Object.create(Car.prototype);
//        console.log(car.getInfo());
        console.log(car instanceof  Car);
        console.log(car.color);
        console.log(car.desc);
    </script>
</head>
<body>

</body>
</html>

 以上code输出结果:

true

undefined

undefined


 

问题来了:

通过new+构造函数构建实例,实例能访问构造函数的属性

通过Object.create(prototype)构建实例时,实例对象不能访问构造函数的属性

以上结果出现的理论依据在哪里。找出来

 

JavaScript原型及原型链

标签:

原文地址:http://www.cnblogs.com/web-coding/p/4720776.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!