张三打字场景 输入 abc
以上可以便是简易的普通函数与惰性函数的区别: 函数每次执行会走全部方法体,但是有的时候某段逻辑并不需要每次都执行。这里就需要惰性函数的加入了。
在函数第一次执行时,会走一次全部方法体,在走完公共部分后在方法体里对方法进行重新赋值,将局部函数重新赋值函数体本身,并 return 函数体。随后第二次往后的方法调用将不走公共部分(毕竟方法体都给改了,这要是还走这不诈尸了么)
一般函数惰性函数张三看文稿张三看文稿张三输入a张三输入a张三看文稿张三输入b张三输入b张三输入c张三看文稿张三输入c一般函数看一个字打一个字 而惰性函数看一次文稿后就不用看,直接打字
惰性函数还可以进一步改写:
let 打字 = (function (){ console.log("看文稿") return function (内容){ console.log("輸入",内容) } })() 打字("a") //看文稿 输入a 打字("b") // 输入b 打字("c") // 输入c如果有更漂亮的写法欢迎来讨论,让我们一起有条不紊的持续进步。 喜欢的话不妨点个小小的赞与关注,您的赞与关注将是我源源不断的前进动力。
