关于js中++的小问题
来源:互联网 发布:mac safari总是崩溃 编辑:程序博客网 时间:2024/05/21 09:33
先看下面两个代码,为什么第一行正常(编译/运行),但第二行给出错误?注意是ReferenceError。
[[]][0]++; []++; #Uncaught ReferenceError: Invalid left-hand side expression in postfix operation
第一想法[[]][0]
应该和[ ]是一样的,所以两者都应该工作,或者两者都应该失败。
首先,这不是一个SyntaxError
!这是一个运行时错误ReferenceError
。所以[ ]++是语法允许的。
想要解决这个问题,就应该查查什么事ReferenceError。再看下面:
2=3#Uncaught ReferenceError: Invalid left-hand side in assignment
这个错误和上面的错误一样。
因为这两个操作都使用称为“PutValue”的规范中的抽象算法。该算法的第3步说:
如果Type(V)不是Reference,则抛出ReferenceError异常。
注意:成员表达式的结果不是值本身([]),而是Reference对该值的影响 。所以事实上,[0]访问是给我们提到外部数组的第0个位置,
而不是给我们这个位置的实际值。
阅读全文
0 0
- 关于js中++的小问题
- 关于js中++的小问题
- 关于js中++的小问题
- js中关于字符串转日期的小问题集合
- 关于JS对象的一些小问题
- 开发中遇到的JSP结合JS(关于参数传递的)小问题
- js中定时器使用的小问题
- as js php中关于double小问题
- iBATIS中关于javabean的小问题
- iBATIS中关于JavaBean的小问题
- 赌博中,关于保赢时赔率的小问题、、、
- 关于js引入的先后顺序的小问题
- JS中关于函数调用的问题
- 关于js中时间戳的问题
- (小收获二)关于select标签与js的问题
- 关于js修改css属性的一个小问题
- 关于jQuery.query.js 取参数的一个小问题
- 关于js中用el表达式获取值的小问题
- HDU6198 number number number
- IOS编译报错-The file “XXX.app” couldn’t be opened because you don’t have permission to view it.
- bzoj 3993: [SDOI2015]星际战争
- Tomcat启动问题
- 洛谷P1091合唱队形
- 关于js中++的小问题
- java 多线程下载
- hdu 6194
- 发布项目到私服的步骤
- 爱奇艺笔试
- 分治算法实现两个n位的正整数相乘
- 今日头条2018校招笔试题之字符串的问题
- 数据结构导论
- 水仙花