介绍
本篇我们介绍的一些模式称为初始化模式和性能模式,主要是用在初始化以及提高性能方面,一些模式之前已经提到过,这里只是做一下总结。
立即执行的函数
在本系列第4篇的《》中,我们已经对类似的函数进行过详细的描述,这里我们只是再举两个简单的例子做一下总结。
//这种方式声明的函数,也可以立即执行
!function () {
console.log('watch out!');
} (); // 如下方式也都可以哦
~function () { /* code */ } ();
-function () { /* code */ } ();
+function () { /* code */ } ();
立即执行的对象初始化
该模式的意思是指在声明一个对象(而非函数)的时候,立即执行对象里的某一个方法来进行初始化工作,通常该模式可以用在一次性执行的代码上。
// 当然也可以定义utility方法 gimmeMax: function () { return this.maxwidth + "x" + this.maxheight; },
// 初始化 init: function () { console.log(this.gimmeMax()); // 更多代码... } }).init(); // 这样就开始初始化咯
分支初始化
分支初始化是指在初始化的时候,根据不同的条件(场景)初始化不同的代码,也就是所谓的条件语句赋值。之前我们在做事件处理的时候,通常使用类似下面的代码:
我们来改进一下,首先我们要定义两个接口,一个用来add事件句柄,一个用来remove事件句柄,代码如下:
自声明函数
内存优化
该模式主要是利用函数的属性特性来避免大量的重复计算。通常代码形式如下:
// cache 存储 myFunc.cache = {};
// cache 存储 myFunc.cache = {};
// cache 存储 myFunc.cache = {};
// cache 存储 myFunc.cache = {};
总结
就不用总结了吧,大家仔细看代码就行咯
原文链接:https://www.f2er.com/js/55444.html