前言
首先出道面試上機(jī)題簡(jiǎn)化版(來(lái)自喜馬拉雅Fm),侵刪。
**** 你需要在這里完成People的構(gòu)造函數(shù) **** //從而會(huì)按照期望執(zhí)行下面的代碼 var man = new People("小明"); var women = new People("小紅") console.log(man.name) // 期望為 小明 man.name = "小剛" // 期望為 warn:不允許通過(guò)賦值運(yùn)算符 console.log(man.name) // 期望為 小明 console.log(women.name) // 期望為 小紅 women.setName("小黃") console.log(women.name) // 期望為 小黃我的方案 Object.defineProperty
var People = function (name){ this._name = name; Object.defineProperty(this,"name",{ get:function(){ return this._name }, set:function(name){ console.warn("不允許通過(guò)賦值運(yùn)算符") } }) this.setName = function(name){ this._name = name; } }Proxy
var createPeople = function(name){ var obj = new Object(); obj._name = name; obj.setName = function(name){ this._name = name; } return obj } var People = function (name){ return new Proxy(createPeople(name), { get: function (target, key, receiver) { if(key === "name"){ return target["_name"] } return target[key]; }, set:function(target,key,value,receiver){ if(key === "_name"){ target._name = value return } console.warn("不允許通過(guò)賦值運(yùn)算符") } }); }Class
class People{ constructor(name){ this._name = name; } get name(){ return this._name; } set name(name){ console.warn("不允許通過(guò)賦值運(yùn)算符") } setName(name){ this._name = name; } }小結(jié)
我把自己的代碼放出來(lái),拋磚引玉,也希望大家可以 review我的代碼,指出不足之處和可優(yōu)化之處。
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/97844.html
摘要:前言最近在用封裝純數(shù)字的輸入框,開(kāi)發(fā)過(guò)程中發(fā)現(xiàn)不是坑,也有不少值得研究的地方。因此我們要繼續(xù)補(bǔ)充下面兩步,并且由于事件觸發(fā)時(shí)值還沒(méi)被修改,于是我們需要將值和當(dāng)前輸入值做組合來(lái)做預(yù)判,進(jìn)一步擴(kuò)大非法字符集。 前言 ?最近在用Polymer封裝純數(shù)字的輸入框,開(kāi)發(fā)過(guò)程中發(fā)現(xiàn)不是坑,也有不少值得研究的地方。本系列打算分4篇來(lái)敘述這段可歌可泣的踩坑經(jīng)歷: 《動(dòng)手寫(xiě)個(gè)數(shù)字輸入框1:input[...
摘要:前言最近在用封裝純數(shù)字的輸入框,開(kāi)發(fā)過(guò)程中發(fā)現(xiàn)不是坑,也有不少值得研究的地方。因此我們要繼續(xù)補(bǔ)充下面兩步,并且由于事件觸發(fā)時(shí)值還沒(méi)被修改,于是我們需要將值和當(dāng)前輸入值做組合來(lái)做預(yù)判,進(jìn)一步擴(kuò)大非法字符集。 前言 ?最近在用Polymer封裝純數(shù)字的輸入框,開(kāi)發(fā)過(guò)程中發(fā)現(xiàn)不是坑,也有不少值得研究的地方。本系列打算分4篇來(lái)敘述這段可歌可泣的踩坑經(jīng)歷: 《動(dòng)手寫(xiě)個(gè)數(shù)字輸入框1:input[...
摘要:前言最近在用封裝純數(shù)字的輸入框,開(kāi)發(fā)過(guò)程中發(fā)現(xiàn)不是坑,也有不少值得研究的地方。因此我們能做的是通過(guò)事件作事后補(bǔ)救措施在中攔截輸入法中輸入的和按鍵事件,然后自行出發(fā)事件執(zhí)行補(bǔ)救措施。 前言 ?最近在用Polymer封裝純數(shù)字的輸入框,開(kāi)發(fā)過(guò)程中發(fā)現(xiàn)不是坑,也有不少值得研究的地方。本系列打算分4篇來(lái)敘述這段可歌可泣的踩坑經(jīng)歷: [《動(dòng)手寫(xiě)個(gè)數(shù)字輸入框1:input[type=number...
閱讀 3385·2021-11-22 13:53
閱讀 3426·2021-10-11 11:11
閱讀 940·2019-08-30 14:12
閱讀 1231·2019-08-29 17:16
閱讀 651·2019-08-29 16:45
閱讀 3362·2019-08-29 12:56
閱讀 679·2019-08-28 17:55
閱讀 2075·2019-08-26 13:24