// 仅执行一次的匿名函数 ;(function ()//最常见的版本 圆括号包裹起来 表示输入括号很纠结 懒人绝对不理解为什么要有圆括号 { ; console.log( 1 ,2 ,3 ) }()) ;!function ()//其实也可以这样使用 偷懒成功 { ; console.log( 1 ,2 ,3 ) }() , function ()//只要 function 前面不是 分号 花括号等结束符号 是可以直接用逗号使用的 { ; console.log( 4 ,5 ,6 ) }() ; var fc = function ()//赋值那就不用说了 必须可以 括号再见 { ; return ‘nice to see you‘ }() //匿名函数非常规用法 /* 个人喜欢在某些情况下 用函数回调 来 代替 循环 主要是可以避免少写逻辑 少声明变量 但是 匿名函数 回调自身 通常是 使用 arguments.callee 来完成 这个方法在严格模式下 不能通过 最主要的是 要打好多字 经常记不住 偷懒模式开启 看我的解决方法 给匿名函数取个名字吧 并且这个名字只在函数作用域内有效 安全环保无污染 更神奇的是压缩器也能压缩 */ ;!function callee ( a, b, c )// 分别调用三次 如果用for解决 是不是很麻烦呢 声明数组 还有循环需要的变量 还有写++-- 这些明显不是强项啊 吼吼 { ; console.log( a, b ,c ) ; return callee } ( 1 ,2 ,3 ) ( 4 ,5 ,6 ) ( 7, 8, 9 ) ; var fc = function callee (a,b,c)// 发现很多人问 如何先执行一次函数 然后保存下来 等某个时机再执行 请看 { ; console.log( a, b ,c ) ; return callee } ( 1, 2, 3 ) ( 4, 5, 6 ) ( 7, 8, 9 ) ; fc( 9, 8, 7 ) ( 6, 5, 4 ) ( 3, 2, 1 )
JavaScript 匿名函数
时间: 2024-12-18 02:59:03