概述
([][[]] + [])[+!![]] + ([] + {})[+!![] + +!![]]
开始分析:
1.([][[]] + [])
[][[]]这个表达式基本就是 一个数组[] 然后取这个数组的第几项[?] -> [][?]
那么自然要把在[[]]内的[]转成字符串 -> []转为字符串是个空字符串 -> [][''] -> 数组里没有这个元素
所以这部分得出结果为undefined
undefined + [] -> 一个原始类型 + 对象类型 -> 把对象转为原始类型 -> 为空字符串
undefined + ‘’ -> 'undefined'
'undefined'[+!![]]
2.[+!![]]
* 任何一个数据前加!!就相当于把这个数据转为布尔类型
[]本身的布尔判定自然是true -> [+true] -> true前+相当于把它转成数字 -> 1 -> [1]
'undefined'[1]
得出结论为'n'
'n' +([] + {})[+!![] + +!![]]
3.([] + {})
两个对象相加 -> 把对象转成原始数据类型
[] -> ''
{} -> [object Object]
'' + [object Object] -> 结论 '[object Object]'
-------------------------------------
'n' +'[object Object]'[+!![] + +!![]]
-------------------------------------
4.[+!![] + +!![]]
+!![] -> 1 -> 1 + 1 -> 结论 2
-------------------------------------
'[object Object]'[2] -> 'b'
最终 'n' + 'b' -> 'nb'
最后
以上就是小巧时光为你收集整理的这个表达式是真nb的全部内容,希望文章能够帮你解决这个表达式是真nb所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复