2013-10-10 78 views
0

我想傳遞一個字符串中使用的變量,但是有可能保留該變量,以便以後可以更改它?有沒有辦法返回一個字符串與其中的變量?

var blah = function(name){ 
    return "hello" +name; 
} 
var thisName = blah('james'); 
name+=" williams"; 

所以thisName是=「你好詹姆斯」,但我想thisName更改爲「你好詹姆斯·威廉斯」當我改變名稱。

+1

Java!= JavaScript。 –

+0

你定義'thisName'並追加到'name' ......你認爲這會起作用嗎? –

+0

變量具有獨立的值。當您更改一個變量的值時,不會更改任何其他變量的值。無法進行設置,因此一個變量會在另一個變化時自動更改。 – ajb

回答

2

這是不可能從function之外改變name。像這樣的命名參數存在function的區塊 - {}

而且,thisName只知道由此產生的'hello james',反正。它不記得記得它來自評估'hello ' + name。因此,即使您可以更改name,也不會自動反映thisName

所以,如果你想改變thisName,你可以這樣做的直接:

var thisName = blah('james'); 
thisName += ' williams'; 

或者保持一個獨立的name(每個範圍可以有它自己)和復位thisName再次呼籲blah(name)的結果:

var name = 'james'; 
var thisName = blah(name); 

name += ' williams'; 
thisName = blah(name); 
1

這將做到這一點:

var blah = function(name){ 
    return "hello " + name; 
} 
var thisName = blah('james'); 
thisName += " williams"; 
相關問題