2017-08-11 59 views
0

我對nodejs和javascript一般都很陌生,我一直在試圖弄清楚如何在一個變量上執行一個函數,例如,執行函數關閉變量

var string = "Hello there"; 
var string1 = "Hello there again" 
string = string.function(); 
string1 = string.function(); 

據我所知,這可以通過做這樣的事情function(string);可以實現,但我更多的「內聯代碼」一個巨大的風扇,並想一個更好的辦法做到這一點。

+1

不知道你在找什麼,這個? [javascript:添加方法到字符串類](https://stackoverflow.com/questions/8392035/javascript-add-method-to-string-class) –

+0

只是一個警告。修改不屬於您的Javascript對象的原型(如String)可能會導致併發症。 https://stackoverflow.com/questions/14034180/why-is-extending-native-objects-a-bad-practice –

+0

可能重複的[javascript:添加方法到字符串類](https://stackoverflow.com/questions/8392035/javascript-add-method-to-string-class) –

回答

0

要做到這一點,你讓你的字符串變量的對象

var string = { 
    text: "Hello there", 
    func: function(value) { 
     return value; 
    } 
} 
string.func(string.text); // Hello there 

編輯:如果你希望你的函數,在所有字符串工作在String.prototype添加一個方法,像這樣

String.prototype.your_function = function (char) { 
    // work on char here 
    return char 
}; 
+0

不確定它是否不清楚,但我希望它能夠處理任何和所有字符串。像pythons一樣,'string.format()',可以在任何字符串上工作 –

+0

您可以使用'String.prototype' – Prasanna

0

我覺得這你所需要的

String.prototype.function = function() 
 
{ 
 
    return this + " world"; 
 
}; 
 
    
 
var x = "hello"; 
 
var y = x.function(); 
 
console.log(y);

0

您可以根據需要添加自定義函數以構建JavaScript對象原型。

例如,在您的字符串的方法的情況下,你可以自定義屬性添加到String.prototype這樣的:

String.prototype.myFunction = function() { 
    return 'Value from myFunction: ' + this.valueOf(); 
} 

當你宣佈一個字符串,你可以去調用新的內聯函數:

var s = 'my string'; 
s.myFunction(); 

,它將返回:

"Value from myFunction: my string" 

希望它能幫助!