2012-12-17 110 views
1

我添加了一個函數來以相反的順序返回我的函數,稍後當我調用它時,我無法得到結果。而不是拋出的錯誤。Javascript原型函數返回函數拋出錯誤

任何人告訴我我做的方式是錯誤的?

String.prototype.reverse = function(st){ 
    return st.split('').reverse().join(''); 
} 

var myString = "sample string to reverse"; 

var reversed = myString.reverse(); 

我明白我的方式是錯誤的。任何人都可以幫我改正我的功能?

回答

6

使用'this'。因爲你沒有傳遞任何參數來反轉。

String.prototype.reverse = function(){ 
     return this.split('').reverse().join(''); 
    } 

    var myString = "sample string to reverse"; 

    var reversed = myString.reverse(); 
2

問題是你配置的功能,在這裏接受的參數實際需要不帶參數,只是將其更改爲:

String.prototype.reverse = function(){ 
     return this.split('').reverse().join(''); 
    } 

    var myString = "sample string to reverse"; 

    var reversed = myString.reverse();