var arr = [] 一个函数,每点击一次传进一个value,比如我点三次,分别为1,2,3
fun(value) {
arr[0] += value
}
为什么会有undefined,我的意思是把传进来的值都放入0下面 [undeined123]
var arr = [] 一个函数,每点击一次传进一个value,比如我点三次,分别为1,2,3
fun(value) {
arr[0] += value
}
为什么会有undefined,我的意思是把传进来的值都放入0下面 [undeined123]
arr[0]不存在,则是undefined ,传进来的是string数据‘1’,undefined+‘1’,隐式转换,把undefined转化成‘undefined’,因此最后得到undefined1,随后相当于拼接字符串
你声明的arr是一个空数组,所以arr[0]的初始值是undefined。
arr[0] = undefined + "1"; // 第一次点击,字符串拼接arr[0]=undefined1
arr[0] = undefined1 + "2" // 第二次点击,字符串拼接arr[0]=undefined12
arr[0] = undefined12 + "3" // 第二次点击,字符串拼接arr[0]=undefined123
根据你的描述,你的fun函数应该写成:
function(value) {
arr.push(value);
}
10 回答11.3k 阅读
5 回答4.9k 阅读✓ 已解决
4 回答3.2k 阅读✓ 已解决
2 回答2.8k 阅读✓ 已解决
3 回答2.4k 阅读✓ 已解决
3 回答2.2k 阅读✓ 已解决
2 回答2.6k 阅读✓ 已解决
处理下undefined