var asdfsdf = {
sdfsdf: [
['aaaaa', 'aaaaa'],
['adsfsadf', 'wfwfwef'],
['--sdf-','asdfasdf">asdfsadfsdf>'],
['afds'],
['asdf'],
['sfdaf'],
['adf',['adsf','sdf','asdf'], 'sdf:sdf']
['-df--'],
['sfd', 'dsf:sdf'],
]
};
[‘adf’,[‘adsf’,‘sdf’,‘asdf’], ‘sdf:sdf’] 这句后门的逗号没写,但是jshint语法检测为何没有报错?
jshint检测通过 [JSHint: D:\workspace\test.js] ✓ 0 errors, [esc] to hide. [Finished in 0.3s]
用webstorm也没报错,奇怪了
eslint应该能检测出来
[][a]是不会报错的,他会认为是对象的a属性,语法上是没问题的,这是对象取值的方法,你这个最后得到的应该是undefined, 你试着把’-df–'换成’length’试试,然后应该就知道了
语法没有错, eslint 会检测到异常的换行
message: 'Unexpected newline between object and [ of property access. (no-unexpected-multiline)'
vscode with eslint
@StephenKingg vscode速度有sublime快么?sublime添加了很多项目,速度没有慢下来
@ekoneko [‘adf’,[‘adsf’,‘sdf’,‘asdf’], ‘sdf:sdf’] [’-df–’], 少了逗号,语法没错?
@linliny 是嵌套多维数组,没有用到[][a]结构啊
[,(,+,-,/这五个符号如果出现在开头,而上一条语句结尾没有分号,则这两条语句将会被解析成一条语句,也就是[‘adf’,[‘adsf’,‘sdf’,‘asdf’], ‘sdf:sdf’][’-df–’],这个并没有错啊,只是值是undefined
从语法上确实没错啊。。。。谁让 js 支持这么多种写法,这下懵比了吧
数组的数组 确实从语法上是没有错误的
多维矩阵,没错啊
@ekoneko 数组元素之间没有逗号,语法应该报错才对啊
@zhaixiaowai 应该是多层数组嵌套,元素之间应该用逗号分隔,没有逗号,应该检测出错误,可是jshiint为何检测不出?
@fruit-memory 没发现少了一个逗号么?
[‘sfdaf’], [‘adf’,[‘adsf’,‘sdf’,‘asdf’], ‘sdf:sdf’] [’-df–’],
[‘a’,‘b’][‘1’]===‘b’