我正在尝试传入一个要在字符串中使用的变量,但是是否可以保留该变量以便以后可以更改它?
var blah = function(name){
return "hello" +name;
}
var thisName = blah('james');
name+=" williams";
所以thisName是=“hello james”,但是当我更改名字时,我希望thisName更改为“hello james williams”。
答案 0 :(得分:2)
无法从name
之外更改function
。在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 :(得分:1)
这样做:
var blah = function(name){
return "hello " + name;
}
var thisName = blah('james');
thisName += " williams";