我正在尝试这里的实验,请回答,这段代码有什么问题?
function run(){
for(var i=0;i<arguments.length;i++){
var type=arguments[i].split(" ")[0];
if(type=="(write)"){
var arr=arguments[i].split(" ");
var str=[];
for(var i=1;i<arr.length;i++){
str.push(arr[i]);
}
var fin="\n"+str.join(" ");
document.getElementById("console").textContent+=fin;
}
}
}
run(
"(write) I wonder if this works.",
"(write) I think it DOES!"
);
不知何故,它只会说“我想知道这是否有效”。在div但没有“我认为它做了!”。有人可以告诉我什么是错的并返回更正后的脚本吗?
答案 0 :(得分:1)
Javascript没有块范围..将您的其他var i更改为其他内容
答案 1 :(得分:0)
你正在使用for循环的i变量两次。 Javascript具有功能范围和块范围。 因此,在第二个“for”中使用不同的变量(可能是j);
for(var j=1;j<arr.length;j++){
str.push(arr[j]);
}
答案 2 :(得分:0)
secret_key_base: xxxxx
答案 3 :(得分:0)
在循环中更改i
:
for (var i = 1; i < arr.length; i++){
str.push(arr[i]);
}
通过其他东西或使用es6来定义i。