84669 人学习
152542 人学习
20005 人学习
5487 人学习
7821 人学习
359900 人学习
3350 人学习
180660 人学习
48569 人学习
18603 人学习
40936 人学习
1549 人学习
1183 人学习
32909 人学习
小伙看你根骨奇佳,潜力无限,来学PHP伐。
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...
是返回值
是返回值。
你需要注意的是,你输入的多了个;,所以不是变量而是个语句。输入变量:
;
> {} < Object {}
输入语句:
> {}; < undefined
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...
是返回值
是返回值。
你需要注意的是,你输入的多了个
;
,所以不是变量而是个语句。输入变量:
输入语句: