kiw*_*123 0 javascript variables concat initialization
为什么我必须在使用concat()方法之前定义一个javascript字符串变量?在下面的代码中,控制台不打印.但是如果我像这样初始化变量字符串var string =""; 它像它应该连接,并在控制台中打印字符串.这让我感到困惑,因为我认为javascript有自动类型转换,所以var string; 应该初始化变量,然后当使用concat()时,它应该自动将类型更改为"String"并连接?
var select = document.getElementById("CK_Expertise");
options = select.getElementsByTagName('option');
var string;
for (var i=options.length; i--;){
if(options[i].selected){
string = string.concat(options[i].value + "<br/>");
}
}
console.log(string);
Run Code Online (Sandbox Code Playgroud)
谢谢 - 克里斯
这让我感到困惑,因为我认为javascript有自动类型转换,所以var string; 应该初始化变量,然后当使用concat()时,它应该自动将类型更改为"String"并连接?
var string 声明变量.它从值开始undefined(不是字符串).undefined没有调用的方法concat,因此string.concat(...)失败.
而var string = ""声明的变量,并给它一个字符串值,"".既然这是一个字符串,它有一个concat方法,所以string.concat(...)工作.
| 归档时间: |
|
| 查看次数: |
489 次 |
| 最近记录: |