MutationObserver是监听DOM变化与当元素变化时做适当操作的一个解决方法。在下面的例子中我们使用计时器模拟了内容的动态加载,第一个元素”target”创建后,创建”subTarget”。
在扩展中的代码,rootObserver
首先开始工作,直到targetElement
被创建后rootObserver
停止,然后elementObserver
开始工作。这个级联观测可以在发现subTargetElement
时提醒你。
这个方法在为动态加载内容的网站开发扩展插件时,是很有用的。
在Javascript里配置对象属性是可以实现的,比如将一个参数设为伪私有或者只读。这个特性从ECMAScript 5.1开始就可以使用了,因此近来的浏览器都是支持的。
要实现这些功能,你需要使用Object
的原型方法defineProperty
,像这样:
大家对斐波那契(Fibonacci)数列都很熟悉。我们可以再20秒内写出下面这样一个方法。
在JavaScript的方法里,arguments
参数可以让你访问传递给该方法的所有参数。arguments
是一个类数组对象;arguments
可是使用数组标记访问,而且它有length参数,但是它没有filter
、map
和forEach
这样内建到数组内的方法。因此,如下代码是一个非常常见的将arguments
转换为数组的办法:
立即执行函数表达式( IIFE - immediately invoked function expression)是一个立即执行的匿名函数表达式,它在Javascript中有一些很重要的用途。