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