日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

实现map window.onload加载

發布時間:2025/4/16 54 豆豆
生活随笔 收集整理的這篇文章主要介紹了 实现map window.onload加载 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

之前一直是寫C/S的,最近轉做B/S了,記錄一下自己在工作和學習中的JS小技巧,方便自己今后復習和查閱。

JS中默認只帶array,有時候會需要key-value的map類功能,雖然array也支持array[key] = value的用法,但是看起來不爽,在網上找了一個map的實現,先記錄下來,以后慢慢完善:

map的實現 function Map() {/** Map 大小 * */var size = 0;/** 對象 * */var entry = new Object();/** 存 * */this.put = function(key, value) {if (!this.containsKey(key)) {size++;}entry[key] = value;}/** 取 * */this.get = function(key) {if (this.containsKey(key)) {return entry[key];} else {return null;}}/** 刪除 * */this.remove = function(key) {if (delete entry[key]) {size--;}}/** 刪除所有 * */this.removeAll = function() {for ( var key in entry) {this.remove(key);}}/** 是否包含 Key * */this.containsKey = function(key) {return (key in entry);}/** 是否包含 Value * */this.containsValue = function(value) {for ( var prop in entry) {if (entry[prop] == value) {return true;}}return false;}/** 所有 Value * */this.values = function() {var values = new Array(size);for ( var prop in entry) {values.push(entry[prop]);}return values;}/** 所有 Key * */this.keys = function() {var keys = new Array(size);for ( var prop in entry) {keys.push(prop);}return keys;}/** Map Size * */this.size = function() {return size;} }

另外,對于window.onLoad的實現,發現有一個小技巧需要注意,如果引用了第三方JS包,自己的window.onload可能會將其蓋掉,所以最好像以下這樣實現

var oldOnload = window.onload || function () {}; window.onload = function () {oldOnload();goSelectedYear(); }

第一行的寫法是為了防止之前沒有window.onload定義,后續調用時為undefined報JS錯 。

?

剛發布完文章,就在網上看到一個十分簡潔的map的寫法,記錄一下

var hashMap = { Set : function(key,value){this[key] = value}, Get : function(key){return this[key]}, Contains : function(key){return this.Get(key) == null?false:true}, Remove : function(key){delete this[key]} }

轉載于:https://www.cnblogs.com/wesleyporter/archive/2012/09/29/2708105.html

總結

以上是生活随笔為你收集整理的实现map window.onload加载的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。