Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/365.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在javascript中添加字符串时遇到的问题_Javascript_String_Function - Fatal编程技术网

在javascript中添加字符串时遇到的问题

在javascript中添加字符串时遇到的问题,javascript,string,function,Javascript,String,Function,我没有从javascript中得到错误,但是当字符串添加到一起时得到的结果是意外的。这是我的代码,也是我收到的 var result = "x" addstr("1") var addstr = function(str){ var result = result + str alert(result) } 我相信我应该得到x1的结果。然后下次执行函数x11时。然后是x111等等。。。但我得到的结果是“未定义1”。我再次运行它,得到了完全相同的错误“Unfined1”。我不知

我没有从javascript中得到错误,但是当字符串添加到一起时得到的结果是意外的。这是我的代码,也是我收到的

var result = "x"
addstr("1")

var addstr = function(str){
    var result = result + str
    alert(result)
}
我相信我应该得到x1的结果。然后下次执行函数x11时。然后是x111等等。。。但我得到的结果是“未定义1”。我再次运行它,得到了完全相同的错误“Unfined1”。我不知道发生了什么,我相信awnser很简单,虽然我已经找了一段时间,没有看到任何人也有这个“问题”,请考虑到我对javascript非常陌生。谢谢你抽出时间


我可以用一些示例代码来解决这个问题吗?

A
var
声明创建一个局部变量。函数内部的
结果
会遮挡函数外部的
结果
,因为您在初始化它之前使用它,所以它的值是
未定义的

在带有结果的函数中使用
var
会使它成为局部变量。因此,您在函数中有不同(本地)版本的结果,而不是您希望从外部获得的原始结果

删除函数中的
var
关键字。将其更改为

var result = "x"
addstr("1")

var addstr = function(str){
    result = result + str
    alert(result)
}
addstr(“1”)是字符串而不是整数 您还忘记了结果后面的分号 所以

还要从函数中删除var

var addstr = function(str){
     result = result + str
    alert(result)
}

因为通过将
var
放在函数的
result
之前,您正在创建一个局部范围变量
result
,它将不会使用全局范围
result
非常感谢!,正如我所说的,我对java脚本还不熟悉,我希望我没有浪费你的时间在一个明显的问题上,无论如何,谢谢:Dit发生了。没问题,帮助别人很高兴:)
var addstr = function(str){
     result = result + str
    alert(result)
}