相关疑难解决方法(0)

Image对象的关联数组的简写

我想在Javascript中创建一个关联数组,其中我将有一堆指向Image对象的字符串键.原因是我想要预先加载并动态控制大量图像,而不会用数百个全局变量污染全局空间.例如,要避免以下情况:

var img1, img2, img3, ... , img99; 
img1 = img2 = img3 = ... = img99 = new Image();
Run Code Online (Sandbox Code Playgroud)

相反,我只想通过一些可识别的字符串名称来调用图像,以使代码更易于阅读,并且_images在全局空间中只有一个变量.

起初,我试图使用an Array来执行此任务,但却发现没有用于指定Array带字符串键的实例化的语法.进一步的调查使我在这里,甚至可以说,Array用作关联阵列可能是有害的.

以前,我曾假定的Javascript阵列类似于LUA表,其中有一个索引部分(其大小被保持在length属性)和散列部分(字符串索引).显然,事实并非如此.相反,在指定"字符串键"时,它实际上只是指定对象属性的简写.

因此,我终于走上了这条道路:

var _images = {
    "button_mouseover": new Image(),
    "button_mouseout": new Image(),
    "button_mousedown": new Image(),
    "button_mouseup": new Image()       
}
Run Code Online (Sandbox Code Playgroud)

其中我创建了一个对象(其引用存储在其中_images),其中包含一系列属性,每个属性都存储对实例化Image对象的引用.

现在填充src所有图像的属性,至少可以说是相当冗长:

_images["button_mouseover"].src = "fsfs.gif";
_images["button_mouseout"].src = "gsgs.gif";
_images["button_mousedown"].src …
Run Code Online (Sandbox Code Playgroud)

javascript arrays object

2
推荐指数
1
解决办法
1664
查看次数

这个Javascript数组的正确排序是什么?

在Firefox中,输出按字母顺序排序(这是它们声明的顺序).在IE和Chrome中它们是数字的.所有最新版本.

哪个是对的?

<html>
<head></head>
<body>
<script type="text/javascript">
function makeArray()
{
    var array = [{5:'Five',4:'Four',1:'One',3:'Three',2:'Two'}];
    var msg = '';

    for (var val in array[0])
    {
        msg = msg + val;
    }   
    alert(msg);
}
</script>
<input type="button" onClick="makeArray();" value="Press Me" />
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

Back Story ...在SpiraTeam(我们当前的错误跟踪系统)中,许多列表(用户,模块等)使用与上述类似的格式进行排序.除非你使用FireFox,否则这会使查找内容变得非常困难和烦人.我的兴趣纯粹是学术性的,我只是问,因为我想知道哪个浏览器是正确的.

javascript

1
推荐指数
1
解决办法
104
查看次数

javascript:按实际顺序获取对象项

我需要得到简单的javascript abject的真实顺序,但我从这段代码得到错误的答案:

var Obj={"x":"z", "2":"a", "1":"b"};
for(i in Obj)
    document.write(Obj[i]+"<br>");
Run Code Online (Sandbox Code Playgroud)

我希望看到z,a,b的答案,但我得到b,a,z
见行动代码: http://jsfiddle.net/gpP7m/

javascript object

1
推荐指数
1
解决办法
81
查看次数

JavaScript按属性值排序字典

我在JavaScript中有一个字典样式的数组对象,如下所示,并希望按属性对其进行排序.怎么做?我知道类似的问题已得到解答,但我认为我的结构不同.简单地运行array.sort(compare)对我不起作用,因为我没有索引的整数.谢谢!

var myData = {
    "userOne": {
        "firstName": "Felix",

    },
    "userTwo": {
        "firstName": "Bob",

    },
    "userThree": {
        "firstName": "Anna",

    }
}
Run Code Online (Sandbox Code Playgroud)

我想对上面的数组myData进行排序,firstName以便Anna首先出现对象,然后是Bob,然后是Felix.非常感谢!!

javascript arrays sorting dictionary node.js

1
推荐指数
1
解决办法
2269
查看次数

标签 统计

javascript ×4

arrays ×2

object ×2

dictionary ×1

node.js ×1

sorting ×1