首页 > 编程语言 > 详细

javascript原型

时间:2017-01-12 22:46:42      阅读:207      评论:0      收藏:0      [点我收藏+]

每个函数或对象都有一个原型属性指向一个原型对象,除特殊除外

构造函数创建的对象中__proto__属性都指向同一个原型对象,共享这个原型对象

 

相当于java中static,所有对象都共享原型对象

 

技术分享

            function Box(){}
            //每个函数或对象都有一个原型对象,除特殊除外
            //原型相当于static,所有对象都共享
            Box.prototype.name = ‘张三‘;
            
            Box.prototype.run = function(){
                
                return this.name;
            }
            
            var box1 = new Box();
            var box2 = new Box();
            console.info(box1.run()==box2.run());//true

__proto__指向其构造函数Object的prototype;

box1. __proto__

IE中不支持这个属性

isPrototypeOf是用来判断指定对象object1是否存在于另一个对象object2的原型链中,是则返回true,否则返回false。
格式如下:
object1.isPrototypeOf(object2);


console.info(Box.prototype.isPrototypeOf(box1));

object.hasOwnProperty(‘proName‘); //实例中是否有属性,不是原型属性

//property in object   不管实例中有该属性或者原型中有该属性,只要一个有就返回true

//判断只有原型中有属性
            function isProperty(object,property){
                
                return !object.hasOwnProperty(property)&&(property in object);
                
            }

 

//使用字面量的方式创建对象
            function Boxp (){}
            
            Boxp.prototype = {
                name:"张三",
                add : function(){
                    
                },
                
                constructor:Boxp//把他的构造强制指回Boxp
                
            }
//用原型扩展方法
            String.prototype.addme = function(){
                
                return this+"自己扩展";
            }
            
            console.info(‘aaaaa‘.addme());

 

javascript原型

原文:http://www.cnblogs.com/jentary/p/6279958.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!