有人可以告诉我这段代码在做什么以及它的输出是什么

时间:2014-02-08 02:46:40

标签: javascript titanium

我认为这段代码可以让每个图像都有一个没有@ 2x的文件名,并且可以使用它做任何事情。有人可以解释代码正在做什么以及它的输出是什么。

var icnPath = 'images/icons/bundle/';
var path = Ti.Filesystem.getFile(Ti.Filesystem.resourcesDirectory, icnPath);
var dir = path.getDirectoryListing();
var images = [];

for (intFile in dir) {
    if (dir[intFile].indexOf("@2x") == -1) {
        images[dir[intFile].replace(".png", "")] = icnPath + dir[intFile];  
    }
}

2 个答案:

答案 0 :(得分:0)

不确定Ti是什么,但看起来它正在浏览目录中的所有文件,并填充数组images,好像它是一个关联的数组/对象,所有文件都没有文件名中包含“@ 2x”,导致文件名为哈希,删除扩展名和路径值。

images: {
  'filename1': 'images/icons/bundle/filename1.png',
  'filename2': 'images/icons/bundle/filename2.png',
   ...
}

答案 1 :(得分:0)

是的, 代码是从图标路径下的资源目录获取文件,其名称没有@ 2x。并从图像中删除.png扩展名以获取给定路径中的图像名称数组。

你的图片[]看起来像

images['iconA']='images/icons/bundle/iconA.png';
images['iconB']='images/icons/bundle/iconB.png';
images['iconC']='images/icons/bundle/iconC.png';
相关问题