gpt4 book ai didi

javascript - 为什么 three.js 在一些简单的成员函数上使用 IIFE 模式?

转载 作者:行者123 更新时间:2023-11-30 14:47:01 25 4
gpt4 key购买 nike

以Object3D基类为例:

rotateOnAxis: function () {

// rotate object on axis in object space
// axis is assumed to be normalized

var q1 = new Quaternion();

return function rotateOnAxis( axis, angle ) {

q1.setFromAxisAngle( axis, angle );

this.quaternion.multiply( q1 );

return this;

};

}(),

...并且这种模式在其他类中很常见,为什么不写一个像这样的普通函数:函数 rotateOnAxis(axis, angle) {...}?

最佳答案

在这种情况下使用闭包来避免每次调用都实例化临时四元数。

这种编码模式在 three.js 中经常使用——尤其是在可能在紧密循环中调用的方法中,例如动画循环。

three.js r.89

关于javascript - 为什么 three.js 在一些简单的成员函数上使用 IIFE 模式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48748482/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com