复制代码
1([][[]] + [])[+!![]] + ([] + {})[+!![] + +!![]]
开始分析:
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
231.([][[]] + []) [][[]]这个表达式基本就是 一个数组[] 然后取这个数组的第几项[?] -> [][?] 那么自然要把在[[]]内的[]转成字符串 -> []转为字符串是个空字符串 -> [][''] -> 数组里没有这个元素 所以这部分得出结果为undefined undefined + [] -> 一个原始类型 + 对象类型 -> 把对象转为原始类型 -> 为空字符串 undefined + ‘’ -> 'undefined' 'undefined'[+!![]] 2.[+!![]] * 任何一个数据前加!!就相当于把这个数据转为布尔类型 []本身的布尔判定自然是true -> [+true] -> true前+相当于把它转成数字 -> 1 -> [1] 'undefined'[1] 得出结论为'n'
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25'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内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复