Если вам нужна такая возможность внутри модуля, один взлом - это хранить такие функции модуля в переменных внутри модуля, а затем вызывать их путем доступа к ним из свойств объекта модуля. Пример:
var x = { }; // better would be to have module create an object
x.f1 = function()
{
console.log('Call me as a string!');
}
Теперь в модуле вы можете вызвать его, используя значение из строки:
var funcstr = "f1";
x[funcstr]();
Я изучаю веревки с самим узлом, выше вероятно, всевозможные ошибки :-). Возможно, более лучший способ написать этот пример будет (для модуля m.js):
module.exports =
{
f1: function() { console.log("Call me from a string!"); },
f2: function(str1) { this[str1](); }
}
Теперь вы можете:
var m = require('m.js');
m.f2('f1');
Или даже просто:
var m = require('m.js');
m['f1']();
FWIW!
Как я упоминал в своем комментарии, методы, которые вам нужно использовать:
// remove child from parent and add it to scene
THREE.SceneUtils.detach( child, parent, scene );
// remove child from scene and add it to parent
THREE.SceneUtils.attach( child, scene, parent );
Изучите исходный код attach()
и detach()
, чтобы вы понимали, что они делают.
three.js r.74