javascript - 在chrome的控制台输入{ } ;为什么之后返回的是undefined?而不是一个对象?--已解决
伊谢尔伦
伊谢尔伦 2017-04-11 10:55:53
0
3
200
伊谢尔伦
伊谢尔伦

小伙看你根骨奇佳,潜力无限,来学PHP伐。

모든 응답 (3)
左手右手慢动作

js的结果值分语句结果值和表达式结果值,你的几次输入,如果不加分号,是这样的

加了分号,就是语句,控制台下一行显示的是语句结果值;
没加分号,就是表达式,控制台显示的表达式结果值。

关于第三个{a:3,b:4}报错,
js里大括号除了有创建对象的作用,还有包装代码块的作用,比如经常用的if(...){...};for(...){...} 这样的结构中,大括号的作用就是把一个或多个语句组成一个代码块;
你这里输入加了分号的'{a:3,b:4};'浏览器会把它作为代码块,而不是对象声明处理,本质上就相当于在控制台直接输'a:3,b:4',没有这样的语法啊,当然报错了

关于这一块的知识,更详细的可以看《你不知道的JavaScript(中卷)》第五章语法部分
https://book.douban.com/subje...

--------补充的分割线-----------
第二个'{a:2};'没报错,应该是把这东东当成了label语句
https://developer.mozilla.org...

    迷茫

    https://segmentfault.com/q/10...

    是返回值

      Ty80

      是返回值。

      你需要注意的是,你输入的多了个;,所以不是变量而是个语句。
      输入变量:

      > {} < Object {}

      输入语句:

      > {}; < undefined
        최신 다운로드
        더>
        웹 효과
        웹사이트 소스 코드
        웹사이트 자료
        프론트엔드 템플릿
        회사 소개 부인 성명 Sitemap
        PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!