你见过哪些令你瞠目结舌的JavaScript代码技巧?

2022-10-02
31 阅读

JS奇淫技巧:数值的七种写法第一种写法:一般情况而言,数值就是数值。

比如:var a = 1;你可知,这个1可以有很多种变形的写法,甚至是变态的写法。

第二种写法:var a= +!!{};console.log(a);即:1变成了+!!{}。

数值1为什么能用+!!{}来表示呢?

原因如下:在JS语法中,!{}是布尔值false,强制转换成数字为0,!!{}则是true,用+号做强制转换,变成数值即为1。

以此类推:2=(+!!{})+(!!{})3=(+!!{})+(!!{})+(!!{})111=+((+!!{})+[]+(+!!{})+(+!!{}))第三种写法:var a=266119^266118;console.log(a);即:将异常运算的结果,等于我们使用的数值。

这也就意味着,同一个数,比如1,可以有多种异或写法,比如:var a=596219^596218;var a=115812^115813;第四种写法:var a = function (s, h) {return s ^ h;}(719028, 719029);console.log(a);也就是把第三种写法中的异或运算变成函数,将异或的两个数以参数的形式传入,在函数中运算并返回数值结果。

第五种写法:把第三种写法中的亦或运算转成AST(抽象语法树)。

var a = ast({\"type\":\"File\

分享至:
管理员

小草

专注人工智能、前沿科技领域报道,致力于为读者带来最新、最深度的科技资讯。

评论 (0)

当前用户头像