js 语言有许多黑科技。
一般像想象中的这样的代码
function(para){
....
}(realPara)
定义函数的同时再进行调用,在浏览器中会报错。常见的变为立即执行函数的方法是加’适当的括号‘,如
(function(value){
console.log(value)
}(a))
或
(function(value){
console.log(value)
})(a)
在整体外加括号或在函数定义外加括号。今天又见到一种方式。
let a = 2; let another ; another=function(){a=1;}(),function(val){console.log(val);}(a);
在赋值语句中调用两个立即执行函数,美中不足是变量要提前定义,不能在变量初始化的同时右边有两个立即执行函数,只有一个是可以的。可能是由于初始化和逗号表达式天生抵触吧。 也希望有人能指点原因。
js中的位运算符,操作数为32为有符号整形,除了>>>是明确的无符号右移。