老师,代码报错了

来源:5-1 函数扩展之默认参数

陈莺莺呀

2020-01-05 22:14:01

function add(a, b = 999 + b, c = 1) {

console.log(a, b);

}

add(1);

http://img.mukewang.com/climg/5e11ef2709b518ca09700370.jpg

写回答

1回答

好帮手慕夭夭

2020-01-06

同学你好,在一个赋值语句中,是先执行等号右侧,然后再执行等号左侧。当执行999+b时,b还没有定义,所以会报错。问题截图中的报错信息大概意思就是“无法在初始化之前访问“b”

http://img.mukewang.com/climg/5e12a280096256f705060070.jpg

代码中把等号右侧的b去掉即可正常执行,如下修改:

http://img.mukewang.com/climg/5e12a2ee0992494605470076.jpg

如果我的回答帮助到了你,欢迎采纳,祝学习愉快~

0

0 学习 · 10739 问题

查看课程