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