, Что преимущество определения функции, как это: obj = { func: function(){return function func(){return this.something;};}() }
Anvantage из себя функции ссылающееся внутри определения функции
Story: Я искал способ, как повернуть three.js Vector3 на определенный угол вокруг оси и нашел это: How to rotate a Three.js Vector3 around an axis? Мне было интересно, как функция работает и ее просматривала: https://github.com/mrdoob/three.js/blob/master/src/math/Vector3.js. Функция выглядит так:
applyAxisAngle: function() {
var quaternion;
return function applyAxisAngle(axis, angle) {
if (quaternion === undefined) quaternion = new Quaternion();
return this.applyQuaternion(quaternion.setFromAxisAngle(axis, angle));
};
}(),
В чем причина этого способа определения функции?
Учитывая, что позиция 'd' и' n', 'anvantage' - это некоторая опечатка – Rajesh
преимуществом является скрыть' quaternion'. 'applyAxisAngle' может использовать его, но никто другой. – Maxx