问一下为什么运行时没有弹窗

问一下为什么运行时没有弹窗

具体遇到的问题

报错信息的截图

相关课程内容截图

尝试过的解决思路和结果

粘贴全部相关代码,切记添加代码注释(请勿截图)

在这里输入代码
var arr = [];
var input;
while(input != "退出"){
	input = prompt("请输入员工工资");
	arr.[arr.length]=input;
}
arr.length-=1;
document.write(arr)

正在回答

登陆购买课程后可参与讨论,去登陆

2回答

“怒焰狂暴”同学你好,代码加载完,还有进入语法分析阶段。该阶段主要作用是:分析该js脚本代码块的语法是否正确,如果出现不正确,则向外抛出一个语法错误,结合代码,即如下:

http://img1.sycdn.imooc.com//climg/5f8e8fac0949b89304830054.jpg

停止该js代码块的执行,然后继续查找并加载下一个代码块;如果语法正确,则进入预编译阶段。

综上,当分析到arr.[arr.length]=input;代码的时候,语法有问题,就会先抛出错误,而不是去执行prompt弹框。

如果还有其他问题,建议同学新建自己的提问,便于日后对于问题的归纳和总结哦!

好帮手慕码 2020-10-14 17:55:08

同学你好,是代码中,语法格式写错了:

http://img1.sycdn.imooc.com//climg/5f86c9e5099ecbfb04020111.jpg

这里[]前不需要添加点(.)了,因为(.)和[]都表示访问对象属性。区别:

使用点(.)的时候,属性名称必须为一个标示符(静态字符串),不能为变量。

[]的时候,属性名称可以为一个静态字符串,也可以为一个变量。若为变量,访问的属性为变量表示的值。

可以再理解一下哦。祝学习愉快~

  • 这里我需要问个问题,程序不是从上到下依次执行么,在while语句里,应该是先执行input这行的代码,那为什么第二行错了,第一行按照正常的逻辑来说应该是会显示出来的,为什么在这里不会弹窗呢?
    2020-10-20 12:00:36
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师