0

我正在尝试传入一个要在字符串中使用的变量,但是是否可以保留该变量以便以后更改它?

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

所以 thisName 是 =“hello james”,但我希望 thisName 在我更改名称时更改为“hello james williams”。

4

2 回答 2

2

无法namefunction. 像它这样的命名参数只存在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);
于 2013-10-10T22:04:22.430 回答
1

这将做到:

var blah = function(name){
    return "hello " + name;
}
var thisName = blah('james');
thisName += " williams";
于 2013-10-10T22:00:03.943 回答