javascript 是通過(guò)對(duì)象來(lái)實(shí)現(xiàn)的 map 功能,枚舉其屬性時(shí)是無(wú)序的。其實(shí)多數(shù)語(yǔ)言的 map 為了提高檢索效率都是進(jìn)行了一定的排序,都不是按插入元素的順序來(lái)枚舉的,除非專(zhuān)門(mén)實(shí)現(xiàn)的 SortedMap 之類(lèi)。

成都創(chuàng)新互聯(lián)專(zhuān)業(yè)為企業(yè)提供興安盟網(wǎng)站建設(shè)、興安盟做網(wǎng)站、興安盟網(wǎng)站設(shè)計(jì)、興安盟網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁(yè)設(shè)計(jì)與制作、興安盟企業(yè)網(wǎng)站模板建站服務(wù),十多年興安盟做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價(jià)值的思路和整體網(wǎng)絡(luò)服務(wù)。
如果你需要查找,也需要順序,數(shù)據(jù)少可以直接用數(shù)組
var dataList = [{
key: '01',
value: '01'
}, {
key: '02',
value: '02'
}, {
key: '10',
value: '10'
}, {
key: '11',
value: '11'
}, {
key: '21',
value: '21'
}]
// 通過(guò)遍歷查找數(shù)據(jù),如找 "11"
var v = (function(data, k) {
for (var i = 0, length = data.length; i length; i++) {
if (data[i].key === k) {
return data[i].value
}
}
})(dataList, "11")
如果數(shù)據(jù)比較多,可以使用 object + array 的辦法,比如
全選復(fù)制放進(jìn)筆記var data = {
map: {
'01': '01',
'02': '02',
'10': '10',
'11': '11',
'21': '21'
},
order: [
"01", "02", "10", "11", "21"
]
}
遍歷數(shù)據(jù)可以這樣
data.order.forEach(function(key) {
console.log(key + " = " + data.map[key])
})
首先,js要面對(duì)多種解析器,每種瀏覽器都是一種不同的解析器,雖然有標(biāo)準(zhǔn),但有些瀏覽器就是不按標(biāo)準(zhǔn)來(lái)(比如IE)。此種情況下,js不亂才怪!就好像中文,雖然是統(tǒng)一的語(yǔ)言,但每一省每一市每一縣甚至每一鄉(xiāng)的語(yǔ)音都不一樣,亂嗎?亂!
其次,js還要跨平臺(tái)!只要是能瀏覽網(wǎng)頁(yè)的系統(tǒng)或設(shè)備,幾乎都能運(yùn)行js,這樣js就要面對(duì)各種不同需求的挑戰(zhàn),眾口難調(diào),再好的廚師也不可能什么菜都能做得完美,亂是必須的。
最后,一種語(yǔ)言如果給人亂的感覺(jué),那是因?yàn)橛玫娜硕啵猛緩V泛,是不可或缺的表現(xiàn)!
他是正常寫(xiě)好之后,做了壓縮,使用壓縮工具比如packer,可以做到大致以下幾個(gè)程度:
1,只去除空格,注釋和換行
2,在1的程度上,替換長(zhǎng)變量名為短變量名。
3,修改整體邏輯,壓縮部分算法。
4,使用算法進(jìn)行混淆。
他這個(gè)處于第二個(gè)程度。
還有壓縮度更高的混淆,混淆之后,很難看出邏輯,只有一個(gè)很長(zhǎng)的無(wú)法解釋的字符串和一個(gè)算法函數(shù)。
js中文亂碼解決辦法:設(shè)置charset=utf-8,完成。
①.js 文件中文顯示亂碼Javascript文件XX.js編輯保存時(shí)有一種編碼方案(如GBK)當(dāng)打開(kāi)文件的時(shí)候所用的編碼(如UTF-8)和保存時(shí)的編碼方案不一致時(shí),則會(huì)出現(xiàn)中文顯示亂碼。
解決方案:
(1)用編輯器打開(kāi)瀏覽的時(shí)候,選擇和原文件編碼(如GBK)一致的編碼方式查看,則不會(huì)出現(xiàn)亂碼;
(2)在eclipse中的package explorer中選中亂碼的XX.js,右鍵菜單中選擇properties,在Text file encoding中選擇與XX.js編輯保存時(shí)的編碼(如GBK),則可以正常顯示。
②網(wǎng)站頁(yè)面中JavaScript中中文字段亂碼 在eclipse或者編輯器中XX.js中中文顯示正常,在頁(yè)面調(diào)用XX.js,執(zhí)行后頁(yè)面結(jié)果中中文字段顯示亂碼。
解決方案: 在引用XX.js的頁(yè)面上“顯示”加上XX.js文件的編碼方式,使之與XX.js文件的本身的編碼方式(如GBK)保持一致。scripttype="text/javascript" language="JavaScript" src="/js/XX.js" charset=“GBK” /script建議:
1)在用Eclipse或者M(jìn)yeclipse新建XX.js,進(jìn)行編輯時(shí),建議先將Textfile encoding改為UTF-8,然后進(jìn)行編輯保存。
2)用文本文檔或者其他編輯器編輯保存XX.js,建議以UTF-8的編碼方式保存。
3)在引用XX.js的頁(yè)面上“顯示”加上XX.js文件的編碼方式UTF-8。scripttype="text/javascript" language="JavaScript" src="/js/XX.js".
這個(gè)亂碼跟javascript沒(méi)有關(guān)系,文件編碼問(wèn)題。
你用記事本打開(kāi),點(diǎn)“文件-另存為”,彈出的窗口把編碼選UTF-8保存,再用編輯器打開(kāi)就不會(huì)有問(wèn)題了
1樓說(shuō)的對(duì),把你的var
y
=
document.body.scrollLeft+event.clientY;這句改成var
y
=
document.body.scrollTop+event.clientY;顯示位置就在你鼠標(biāo)點(diǎn)的位置了...
同時(shí)建議你把document.getElementById("aa").style.left=x+2;
document.getElementById("aa").style.top=y;這兩句后面都加個(gè)px單位,即
document.getElementById("aa").style.left=x+2+'px';
document.getElementById("aa").style.top=y+'px';
否則moz瀏覽器解析不了沒(méi)有單位的位置...
網(wǎng)頁(yè)題目:javascript亂,js亂碼問(wèn)題
當(dāng)前網(wǎng)址:http://chinadenli.net/article4/dsgepoe.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供響應(yīng)式網(wǎng)站、網(wǎng)站導(dǎo)航、網(wǎng)站設(shè)計(jì)公司、網(wǎng)站收錄、企業(yè)建站、網(wǎng)站制作
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)