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