这是什么语法看不懂,求大神指点。
javascript吧
全部回复
仅看楼主
level 1
RangerJN 楼主
这个语法怎么解读啊?两个括号然后与上两个括号。(0, n.urlQueryVariable)("dsType") && (e = (0, n.urlQueryVariable)("dsType"));这句
2024年05月05日 01点05分 1
level 8
小括号可以改变执行顺序,在不是函数调用的时候,小括号内的被看做一条整体。
(0,fn)(1)我给你解释一下,小括号内是一个js表达式,他求0,fn的值,他本质上与求0+1没有太大区别,逗号和加号作用一样,只不过逗号的作用是返回它右侧的那一项
0,fn的结果是fn,它返回了fn.如果fn是个函数的话,(0,fn)(1)意思就是, fn(1)
2024年05月06日 08点05分 2
&&前后都是这个逻辑,都在执行函数调用,因为&&的特点,&&左侧那个函数的返回值的布尔值是假的时候,不去执行&&右侧那个函数
2024年05月06日 08点05分
你这个代码可以改一下 if (n.urlQueryVariable("dsType")){ e = n.urlQueryVariable("dsType") }
2024年05月06日 08点05分
function fn(){return 1}; (0,fn)()+(0,fn)() === 2; // true
2024年05月06日 08点05分
1