动态访问范围/函数中的非全局JS变量

时间:2020-02-12 23:10:35

标签: javascript dynamic

所以我只是从BabylonJS开始,我有一个变量要在名为createScene的{​​{1}}函数中声明。我有一个函数,该函数从数组中获取对象并进行转换,然后使用它们用网格填充我的scene(目标):

scene

let objectsFromArray = [] for(let i in sceneObjects){ let currentObject = sceneObjects[i]; let objectFunc = get(BABYLON, currentObject.path) objectsFromArray.push( objectFunc(...currentObject.params) ) for(let action of Object.keys(currentObject.actions)){ objectsFromArray[i][action] = objectsFromArray.actions[action] } } 函数外部的数组,其中存储了所有通用对象/网格,如下所示:

createScene

在params数组的末尾注意let sceneObjects = [ { path: "MeshBuilder.CreateBox", params: [ "box", { width: 30, height: 1 }, this["scene"] //<---- This is the issue ], actions: { position: new BABYLON.Vector3(0, -5, 3) } }, ] 数组。这是因为我需要动态传递this["scene"]函数中局部声明的scene变量作为BabylonJS的目标,以知道将网格放置在何处。显然createScene的目标是未定义的全局变量,而不是局部变量。如何动态定位在本地/范围内声明的变量?

P.S。很抱歉滥用术语/愚蠢,主要是出于业余爱好

0 个答案:

没有答案