老師 這樣為什麼不行

老師 這樣為什麼不行

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title></title>
</head>
<body>
<script>
      
      let[x,y,z] = [10,20,30]
      [x,y,z] =[z,x,y]
      //報錯Uncaught ReferenceError: Cannot access 'x' before initialization
      console.log(x+" "+y+" "+z)
      
</script>
</body>
</html>

報錯訊息是甚麼意思?

正在回答

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

2回答

同学你好,let[x,y,z] = [10,20,30] 是声明x,y,z变量并赋值的意思。但是报错的是第二行,并不是第一行

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

第二行这里没有声明变量就直接使用了,所以报错。而let变量不能声明重复的,所以老师给出了修改建议。

祝学习愉快!

好帮手慕星星 2020-08-15 17:48:57

同学你好,报错信息的意思是还没有声明变量就使用了

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

这两行都是变量,下面的没有声明就使用了。并且let不能声明重复变量,建议这样修改

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

祝学习愉快!

  • 提问者 weixin_慕雪0272820 #1
    let[x,y,z] = [10,20,30] 的意思不是指聲明x&y&z,個別為其賦值為10&20&30的意思嗎? 不是聲明的話,不然let[x,y,z] = [10,20,30] 是什麼意思?
    2020-08-15 18:25:06
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

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

在线咨询

领取优惠

免费试听

领取大纲

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