第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定

談談Javascript中的原型鏈

標簽:
JavaScript
谈谈Javascript中的原型链

提到Javascript就不得不提起原型链,javascript在设计之初就是基于原型的。下面我们就来说说Javascript中原型链的用法。

对象的创建与继承
//字面量创建对象
var obj = {}
//指定原型对象创建对象
var obj1= Object.create(obj)

在这里,我们创建了两个对象obj,obj1,其中obj继承于基本对象Object,obj1继承于obj1

类的继承
//继承单个父类
//创建Shape父类
var Shape = function(x,y){
    this.x = x;
    this.y = y;
}
Shape.prototype = {
   change:function(x,y){
        this.x  = x;
        this.y = y;
    } 
}
//常见Rect子类,继承Shape
var Rect = function(){
    Shape.call(this);
}

Rect.prototype = Object.create(Shape.prototype)
Rect.prototype.contructor = Rect;

//继承多个父类
var MyClass = function (){
    SuperClass.call(this);
    OtherSuperClass.call(this);
}
MyClass.prototype = Object.create(SuperClass.prototype);
Object.assign(SuperClass.prototype,OtherSuperClass.prototype)
MyClass.prototype.contructor = MyClass;

以上代码就是利用原型链继承单个和多个父类的代码实现。
在这里要提醒的是,当我们用for in 遍历某个对象时,原型链上面的每一个可枚举的属性都会被遍历出来,此时我们要Object.hasOwnProperty这方法去判断当前属性是否是原型链上面的属性。

proto

proto对象是各个浏览器厂商实现的非标准的javascript属性

var obj = new SomeClass();
//=======等于
var obj = new Object();
obj.__proto__ = SomeClass.prototype;
SomeClass.call(obj)
Object.defineProperties
var obj = {};
obj.defineProperties(obj,{
    'someattribute':{
    writable:true//可读,
    value:true,//属性值
    configurable:true//是否可以通过delete删除,
    emumerable:true,//是否可以枚举
    get:function(){
    //gettter
    },
    set:function(){
    //setter
    }
}
})
Object.freeze(ojb)//冻结某对象,使obj上面的属性不可修改不可添加
點擊查看更多內容
TA 點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優(yōu)質文章

正在加載中
  • 推薦
  • 評論
  • 收藏
  • 共同學習,寫下你的評論
感謝您的支持,我會繼續(xù)努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學

大額優(yōu)惠券免費領

立即參與 放棄機會
微信客服

購課補貼
聯系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

舉報

0/150
提交
取消