第22章 高级技巧

1.1安全的类型检测

测试某个值是不是原生函数或正则表达式

1.2作用域安全的构造函数

作用域安全的构造函数在进行任何更改前,首先确认this对象是正确类型的实例。

1.3惰性载入函数

表示函数执行的分支仅会发生一次。实现方式为:第一种是在函数被调用时在处理函数,第二种就是在声明函数时就指定适当的函数。其优点是在执行分支代码是会牺牲一点性能

1.4函数绑定

一个简单的bind()函数接受一个函数和一个环境,并返回一个在给定环境中调用给定函数的函数,并且将所有参数原封不动传递过去。语法如下:

functionbind(fn,context){returnfunction({returnfn.apply(context,arguments);};}

1.5函数柯里化

它用于创建已经设置好了一个或多个参数的函数。函数柯里化的基本方法和函数绑定是--样的:使用一个闭包返回一个函数。两者的区别在于,当函数被调用时,返回的函数还需要设置一些传人的参数。

高级定时器

使用setTimeout()和setInterval()创建定时器。在定时器中,指定的时间间隔表示何时将定时器的代码添加到队列中,而不是何时实际代码执行,队列中所有的代码都要等javascript进程空闲之后才执行,而不管他们是何时添加到队列的

重复的定时器,使用setInterval() 创建定时器,定时器代码可能会在代码再次被添加到队列之前还没有完成执行。使用链式setTimeout()调用



setTimeout(function(){

     setTimeout(arguments.callee,interval);

  },interval);

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容