摘要:一番死腦筋的查詢資料,最終在上,發(fā)現(xiàn)的屬性為解決那么問(wèn)題好辦了,繼承于,的屬性值是。遺留問(wèn)題其實(shí),刪除掉上述,只執(zhí)行是可以的,為什么加一個(gè)屬性可以,加兩個(gè)卻不行,正在研究,也希望有高人解答。
起因
在網(wǎng)上無(wú)意間看到這么一道題,第一次實(shí)踐,直接報(bào)錯(cuò),所以記錄下來(lái)加深記憶過(guò)程
一看到數(shù)字可以調(diào)用函數(shù),最先想到的類似的場(chǎng)景就是(5).toFixed(2),那么接下來(lái),有兩個(gè)思路了
1、重寫Number原型對(duì)象中的方法
2、在Number的原型對(duì)象中添加方法
思路一在實(shí)踐過(guò)程中,終于在bind方法中迷失了自我,最后放棄治療,先記下來(lái)以后再戰(zhàn)。
思路二,本人沒(méi)有仔細(xì)考慮,直接寫了下面一段代碼
Number.prototype.fn1 = function (item){ const value = this.valueOf(); // value const result = value - item; return result; }; Number.prototype.fn2 = function (item){ const value = this.valueOf(); // value const result = value + item; return result; } console.log((5).fn1(2).fn2(3));
結(jié)果就是報(bào)錯(cuò):fn1未定義解決
打斷點(diǎn),發(fā)現(xiàn)沒(méi)有調(diào)用fn1,而是在fn2定義的時(shí)候直接報(bào)錯(cuò),在控制臺(tái)打印Number.prototype,發(fā)現(xiàn)fn1在打印出的對(duì)象中,fn2卻沒(méi)有出現(xiàn)。
一番死腦筋的查詢資料,最終在mdn上,發(fā)現(xiàn)Number.prototype的configurable屬性為false
那么問(wèn)題好辦了,Number.prototype繼承于Object.prototype,Object.prototype的configurable屬性值是true。更改代碼如下
Object.prototype.fn1 = function (item){ const value = this.valueOf(); // value const result = value - item; return (result); // return result; 不加()的話,后面的.會(huì)被識(shí)別為小數(shù)點(diǎn)哦 }; Object.prototype.fn2 = function (item){ const value = this.valueOf(); // value const result = value + item; return result; } console.log((5).fn1(2).fn2(3));
ok,問(wèn)題到這里結(jié)束,另外,隨手查了String.prototype和Boolean.prototype,它們的configurable屬性值也是false。遺留問(wèn)題
其實(shí),刪除掉上述Number.prototype.fn2,只執(zhí)行(5).fn1(2)是可以的,為什么加一個(gè)屬性可以,加兩個(gè)卻不行,正在研究,也希望有高人解答。
Number.prototype.fn1 = function (item){ const value = this.valueOf(); // value const result = value - item; return (result); }; console.log((5).fn1(2));
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/102340.html
摘要:相反,我們只需要在末尾里找出中的下一個(gè)函數(shù),再調(diào)用第二個(gè)調(diào)用這個(gè)函數(shù)負(fù)責(zé)找出中的下一個(gè)函數(shù)并執(zhí)行。我們現(xiàn)在來(lái)實(shí)現(xiàn)其實(shí)也可以用把拿出來(lái)通過(guò)去獲取中的函數(shù),每調(diào)用一次會(huì)加,從而達(dá)到取出下一個(gè)函數(shù)的目的。中大名鼎鼎的框架正是這樣實(shí)現(xiàn)中間件隊(duì)列的。 假設(shè)你有幾個(gè)函數(shù)fn1、fn2和fn3需要按順序調(diào)用,最簡(jiǎn)單的方式當(dāng)然是: fn1(); fn2(); fn3(); 但有時(shí)候這些函數(shù)是運(yùn)行時(shí)一個(gè)...
摘要:全局上下文在全局中,一律指向全局對(duì)象。特殊的以下情況中的需要進(jìn)行特殊記憶。構(gòu)造函數(shù)當(dāng)一個(gè)函數(shù)作為構(gòu)造函數(shù)使用時(shí),構(gòu)造函數(shù)的指向由該構(gòu)造函數(shù)出來(lái)的對(duì)象。舉例使用綁定時(shí),監(jiān)聽(tīng)函數(shù)中的指向觸發(fā)事件的,表示被綁定了監(jiān)聽(tīng)函數(shù)的元素。執(zhí)行與執(zhí)行同理。 我的博客地址 → this | The story of Captain,轉(zhuǎn)載請(qǐng)注明出處。 問(wèn):this 是什么? 答:this 是 call 方法...
摘要:注意封裝成一個(gè)函數(shù)封裝一個(gè)函數(shù),將字符串實(shí)現(xiàn)的功能,但不使用方法,去掉字符串前后空格,返回處理后的字符串。當(dāng)然答案還有很多,我們只是提供了其中幾種,你有好的解答也可以發(fā)送郵件,大家共同交流討論哈 來(lái)自妙味的一套面試題,以下答案來(lái)自JS講師的現(xiàn)場(chǎng)上課記錄! 一、選擇題 1、分析下段代碼輸出結(jié)果是( B ) var arr = [2,3,4,5,6]; var sum =...
閱讀 830·2023-04-26 00:37
閱讀 715·2021-11-24 09:39
閱讀 2141·2021-11-23 09:51
閱讀 3801·2021-11-22 15:24
閱讀 742·2021-10-19 11:46
閱讀 1873·2019-08-30 13:53
閱讀 2421·2019-08-29 17:28
閱讀 1324·2019-08-29 14:11