[JS]給String對象添加方法,使傳入的字符串字符之間以空格分開輸出


看到一個這樣子的面試題:

  給String對象添加一個方法,傳入一個string類型的參數,然后將string的每一個字符間加空格返回,例如:addSpace("hello world") //->'h e l l o w o r l d'.

  第一眼看這道題目覺得出的很有問題, 既然給String中添加對象,調用方法應該是str.addSpace(),addSpace(str)是一個普通函數的調用方法吧!

  請教了下別人,發現自己思維有點誤區,直接就考慮到了給String原型添加對象的方法,而忽略String本身也可以添加屬性.

 

  此處就題目延伸下,總結實現將string的每一個字符間加空格返回的3種方法.

  注意: 這3種方法的調用方式是不同的!

  1.在String類上直接添加addSpace方法:

1     var str="Hello world!";
2     String.addSpace=function(str){
3             return str.split("").join(" ");
4     }
5 
6     console.log(String.addSpace(str));   //H e l l o   w o r l d !

  2.利用String原型添加方法:

1     var str="Hello world!";
2     String.prototype.addSpace=function(){
3         return this.split("").join(" ");
4     }; //添加到String原型鏈.
5 
6     console.log(str.addSpace());    //H e l l o   w o r l d !

  3.普通函數的實現方法:

    var str="Hello world!";
    function addSpace(str){
            return str.split("").join(" ");
    }
    console.log(addSpace("hello world"));
 
        

 

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM