Maison > Questions et réponses > le corps du texte
红色箭头标记的地方,arguments.callee不是函数自己吗?为什么会有个offset属性,为什么要进行这一层判断呢?
阿神2017-04-10 17:16:52
这个是计算元素大小的那一节内容吧?书里有说啊,不同浏览器的起点坐标不一样,所以要根据情况判断起点坐标是(0, 0)还是(2, 2);offset
变量就是保存这个起点坐标的地方,根据不同情况值可能是0或-2。
这个offset
变量是getBoundingClientRect()
这个方法专用的,把offset
变量绑定在上面不就顺理成章么。这个函数的逻辑是第一次执行时先判断函数自己有没保存了offset
,没的话就算一次保存起来,以后再调用就直接拿offset
出来就行了。
其实还可以把offset
当作getBoundingClientRect()
里的私有变量,这个是闭包的内容了。