国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

數(shù)字直接調(diào)用函數(shù):(5).fn1(2).fn2(3)實(shí)現(xiàn)5-2+3

Java_oldboy / 1679人閱讀

摘要:一番死腦筋的查詢資料,最終在上,發(fā)現(xiàn)的屬性為解決那么問題好辦了,繼承于,的屬性值是。遺留問題其實(shí),刪除掉上述,只執(zhí)行是可以的,為什么加一個屬性可以,加兩個卻不行,正在研究,也希望有高人解答。

起因
在網(wǎng)上無意間看到這么一道題,第一次實(shí)踐,直接報錯,所以記錄下來加深記憶
過程
一看到數(shù)字可以調(diào)用函數(shù),最先想到的類似的場景就是(5).toFixed(2),那么接下來,有兩個思路了  
1、重寫Number原型對象中的方法
2、在Number的原型對象中添加方法
思路一在實(shí)踐過程中,終于在bind方法中迷失了自我,最后放棄治療,先記下來以后再戰(zhàn)。
思路二,本人沒有仔細(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é)果就是報錯:fn1未定義  
打斷點(diǎn),發(fā)現(xiàn)沒有調(diào)用fn1,而是在fn2定義的時候直接報錯,在控制臺打印Number.prototype,發(fā)現(xiàn)fn1在打印出的對象中,fn2卻沒有出現(xiàn)。
一番死腦筋的查詢資料,最終在mdn上,發(fā)現(xiàn)Number.prototypeconfigurable屬性為false
解決
那么問題好辦了,Number.prototype繼承于Object.prototypeObject.prototypeconfigurable屬性值是true。更改代碼如下
Object.prototype.fn1 = function (item){
    const value = this.valueOf(); // value

    const result = value - item;

    return (result);
    // return result; 不加()的話,后面的.會被識別為小數(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,問題到這里結(jié)束,另外,隨手查了String.prototypeBoolean.prototype,它們的configurable屬性值也是false
遺留問題
其實(shí),刪除掉上述Number.prototype.fn2,只執(zhí)行(5).fn1(2)是可以的,為什么加一個屬性可以,加兩個卻不行,正在研究,也希望有高人解答。
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)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/102340.html

相關(guān)文章

  • JavaScript 中如何實(shí)現(xiàn)函數(shù)隊(duì)列?(一)

    摘要:相反,我們只需要在末尾里找出中的下一個函數(shù),再調(diào)用第二個調(diào)用這個函數(shù)負(fù)責(zé)找出中的下一個函數(shù)并執(zhí)行。我們現(xiàn)在來實(shí)現(xiàn)其實(shí)也可以用把拿出來通過去獲取中的函數(shù),每調(diào)用一次會加,從而達(dá)到取出下一個函數(shù)的目的。中大名鼎鼎的框架正是這樣實(shí)現(xiàn)中間件隊(duì)列的。 假設(shè)你有幾個函數(shù)fn1、fn2和fn3需要按順序調(diào)用,最簡單的方式當(dāng)然是: fn1(); fn2(); fn3(); 但有時候這些函數(shù)是運(yùn)行時一個...

    Kyxy 評論0 收藏0
  • this

    摘要:全局上下文在全局中,一律指向全局對象。特殊的以下情況中的需要進(jìn)行特殊記憶。構(gòu)造函數(shù)當(dāng)一個函數(shù)作為構(gòu)造函數(shù)使用時,構(gòu)造函數(shù)的指向由該構(gòu)造函數(shù)出來的對象。舉例使用綁定時,監(jiān)聽函數(shù)中的指向觸發(fā)事件的,表示被綁定了監(jiān)聽函數(shù)的元素。執(zhí)行與執(zhí)行同理。 我的博客地址 → this | The story of Captain,轉(zhuǎn)載請注明出處。 問:this 是什么? 答:this 是 call 方法...

    Airmusic 評論0 收藏0
  • 前端面試題(中)

    摘要:注意封裝成一個函數(shù)封裝一個函數(shù),將字符串實(shí)現(xiàn)的功能,但不使用方法,去掉字符串前后空格,返回處理后的字符串。當(dāng)然答案還有很多,我們只是提供了其中幾種,你有好的解答也可以發(fā)送郵件,大家共同交流討論哈 來自妙味的一套面試題,以下答案來自JS講師的現(xiàn)場上課記錄! 一、選擇題 1、分析下段代碼輸出結(jié)果是( B ) var arr = [2,3,4,5,6]; var sum =...

    walterrwu 評論0 收藏0
  • 前端面試題(中)

    摘要:注意封裝成一個函數(shù)封裝一個函數(shù),將字符串實(shí)現(xiàn)的功能,但不使用方法,去掉字符串前后空格,返回處理后的字符串。當(dāng)然答案還有很多,我們只是提供了其中幾種,你有好的解答也可以發(fā)送郵件,大家共同交流討論哈 來自妙味的一套面試題,以下答案來自JS講師的現(xiàn)場上課記錄! 一、選擇題 1、分析下段代碼輸出結(jié)果是( B ) var arr = [2,3,4,5,6]; var sum =...

    legendaryedu 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<