1.赋值问题:为什么只能用(i: 10)而不能用 var或等号赋值;2.标点问题:函数内每个语句为什么只能用逗号,不能用分号;

qq_33800638 2017-04-30 05:26:20
var aaa = {
i: 10,//var i=10或i=10出错
valueOf: function(){
alert("调用了valueOf函数");
return this.i + 30;},//为什么后面要用逗号,分号出错
toString: function(){
alert("调用了toString函数");
return this.valueOf() + 10;}
}

alert(aaa > 20);
alert(+aaa);
alert(aaa);
...全文
187 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
sanGuo_uu 2017-05-04
  • 打赏
  • 举报
回复
1# 2# 已经回答得很详细了
xiaojunjor 2017-05-04
  • 打赏
  • 举报
回复
1+1为什么等于2?少问点这种无聊的问题,没有为什么,规定这么写
_林小夕 2017-05-04
  • 打赏
  • 举报
回复
原因只有四个字:语法规定。 赞1#,2#的解释
似梦飞花 2017-04-30
  • 打赏
  • 举报
回复
对象直接量啊 语法问题 没为什么啊
Msxindl_Com 2017-04-30
  • 打赏
  • 举报
回复
用逗号分隔是这种格式的规定动作,没规矩不成方圆,知道怎么用就行了嘛。
天际的海浪 2017-04-30
  • 打赏
  • 举报
回复
问题2 因为这个function(){}是个“函数表达式”,是作为对象字面量中的属性值的,语法规定在对象字面量中的属性值与下一个属性名之间用逗号分隔
天际的海浪 2017-04-30
  • 打赏
  • 举报
回复
{i:10}这是对象的字面量的定义方式。语法规定是 {属性名1: 属性值1, 属性名2: 属性值2, 属性名3: 属性值3} 而var i=10是定义变量的,不能用于对象的字面量中。这是语法规定

87,993

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧