龙空技术网

js惰性载入函数

RemoveS 56

前言:

而今朋友们对“js匿名函数自调用”都比较看重,咱们都需要了解一些“js匿名函数自调用”的相关内容。那么小编在网络上收集了一些对于“js匿名函数自调用””的相关内容,希望姐妹们能喜欢,兄弟们快快来了解一下吧!

《JavaScript高级程序设计(第3版)》高阶函数章节中介绍了惰性载入函数技巧

函数里面如果有if,else那么每次调用都会走if,else.比如

// 这是每次调用都会走iffunction res () { if(window.gg){  alert(1) }else{  alert(2) }}
如果使它只在第一次调用走if,可以使用以下两种惰性载入的技巧:

1 函数第一次调用就使用合适的分支覆盖了原函数,等下次再调用就直接执行了。在第一次调用时损失一点性能

function res () { if(window.gg){  res=function  () {  alert(1)  } }else{  res=function  () {   alert(2)  } } return res()}	

2 声明函数时就指定适当的函数,技巧是创建一个匿名自执行函数。用以确定应该执行哪个。 这种在代码首次加载时损失一点性能。

var res = (function  () { if(window.gg){ return function  () {  alert(1)  }}else{ return function  () { alert(2) }}})()

标签: #js匿名函数自调用 #js 自执行函数