JS 立即执行函数写法

85 阅读1分钟

//用括号把整个表达式包起来

(function(){alert('one')}())

//用括号把函数包起来

(function(){alert('two')})()

// 求反,不用在意值是什么,能通过语法检查就行

!function(){alert('three')}()
+function(){alert('three')}()
-function(){alert('four')}()
~function(){alert('five')}()

void function(){alert('six')}()
new function(){alert('seven')}()
let x = function(){return 'eight'}()

作用: 创建局部变量

优点: 兼容性好 ES3 都可以支持

替代: 可以用 ES6 的 block + let 语法

{
    let sam = 'I am sam'
    console.log(sam) // sam
}
console.log(sam) //  sam is not defined