我如何在JavaScript数组中优化我的代码
How can i optimize my code in a JavaScript array?
这是我的代码。我如何重构它,以便轻松地将它们放入JavaScript数组中?这是我想放入数组中的一些pic容器。
Ace = new createjs.Bitmap(loader.getResult("Ace"));
aceContainer = new createjs.Container();
aceContainer.addChild(Ace);
aceContainer.x = 90;
aceContainer.y = 148;
aceContainer.width = 276 ;
aceContainer.height = 266;
stage.addChild(aceContainer);
K = new createjs.Bitmap(loader.getResult("K"));
kContainer = new createjs.Container();
kContainer.addChild(K);
kContainer.x = 376;
kContainer.y = 148;
kContainer.width = 276 ;
kContainer.height = 266;
stage.addChild(kContainer);
Q = new createjs.Bitmap(loader.getResult("Q"));
qContainer = new createjs.Container();
qContainer.addChild(Q);
qContainer.x = 662;
qContainer.y = 148;
qContainer.width = 276 ;
qContainer.height = 266;
stage.addChild(qContainer);
类似
function doThingsPeter(s, x, y, width, height, root) {
var bm = new createjs.Bitmap(loader.getResult(s));
var container = new createjs.Container();
container.addChild(bm);
container.x = x;
container.y = y;
container.width = width;
container.height = height;
root.addChild(container);
return container;
}
var containers = [];
containers.push(doThingsPeter('Ace', 90, 148, 276, 266, stage));
containers.push(doThingsPeter('K', 376, 148, 276, 266, stage));
containers.push(doThingsPeter('Q', 662, 148, 276, 266, stage));
也许吗?编辑:回应"关于容器命名"-我只能猜测你可能想要像
这样的东西function doThingsPeter(s, x, y, width, height, root) {
var bm = new createjs.Bitmap(loader.getResult(s));
var container = new createjs.Container();
container.addChild(bm);
container.x = x;
container.y = y;
container.width = width;
container.height = height;
root.addChild(container);
return container;
}
var containers = {};
containers.Ace = doThingsPeter('Ace', 90, 148, 276, 266, stage);
containers.K = doThingsPeter('K', 376, 148, 276, 266, stage);
containers.Q = doThingsPeter('Q', 662, 148, 276, 266, stage);
但它现在不是Array了
或者你想要这样:
var containers = {};
var bitmaps = {};
var arrayOfThings = [
{ target: 'Ace', x: 90, y: 148, width: 276, height: 266},
{ target: 'K', x: 376, y: 148, width: 276, height: 266},
{ target: 'Q', x: 662, y: 148, width: 276, height: 266}
];
arrayOfThings.forEach(function(thing) {
var target = thing.target;
var bm = bitmaps[target] = new createjs.Bitmap(loader.getResult(target));
var container = containers[target] = new createjs.Container();
container.addChild(bm);
container.x = thing.x;
container.y = thing.y;
container.width = thing.width;
container.height = thing.height;
stage.addChild(container);
});
作为结果:
- 容器。Ace将包含
Ace
容器 - 位图。Ace将包含
Ace
位图
第四次也是最后一次尝试(再次基于注释)
function doThingsPeter(s, x, y, width, height, root) {
var bm = new createjs.Bitmap(loader.getResult(s));
var container = new createjs.Container();
container.addChild(bm);
container.x = x;
container.y = y;
container.width = width;
container.height = height;
root.addChild(container);
return container;
}
aceContainer = doThingsPeter('Ace', 90, 148, 276, 266, stage);
kContainer = doThingsPeter('K', 376, 148, 276, 266, stage);
qContainer = doThingsPeter('Q', 662, 148, 276, 266, stage);
现在你有aceContainer, kContainer和qContainer根据你的问题
相关文章:
- 你能优化我的路由和 ajax 请求吗?(PHP/Laravel)
- 如何优化我的JavaScript滑块加载
- 为什么 requirejs 优化器需要对我的源文件具有写入权限?这能解决吗?
- 为什么我的 grunt-contrib-requirejs 没有优化任何东西
- 如何优化我的jQuery以始终在IE8中工作,目前它被击中和错过
- 我可以使用循环来优化我的代码吗?
- 如何优化我的javascript程序
- 如何优化我的javascript
- 如何优化我的javascript对象
- 如果我使用r.js优化我的RequireJS项目,我必须改变路径和依赖配置吗?
- 如何优化我的加载JQuery函数
- 如何使用r.js优化器从我的javascript库中删除所有的require和define语句
- 浏览器如何优化我的JavaScript
- 我如何优化我的网站缓慢的数据连接
- 我如何在JavaScript数组中优化我的代码
- 我如何优化我的登录过程
- Webpack:如何优化生成的bundle.js?对我来说太大了
- RequireJS-skipDirOptimize:true设置不会优化我的主模块
- JSF正在优化我的<h: 隐藏输入>离开
- 我能做些什么来优化我的WebGL动画?