// ============ isArray ===============// // isArray function isArray(value){ return Object.prototype.toString.call(value) == "[object Array]"; } var arr = [1,2,3,4,5]; alert(isArray(arr)); // IE8 及如下不支持
// ============ filter 等 ===============// // 數組的一些方法 every(), filter(), forEach(), map(), some() // IE8 及如下不支持 // 解決辦法,以filter爲例,本身寫一個filter if (!Array.prototype.filter) { Array.prototype.filter = function(fun /*, thisp*/){ var len = this.length; if (typeof fun != "function"){ throw new TypeError(); } var res = new Array(); var thisp = arguments[1]; for (var i = 0; i < len; i++){ if (i in this){ var val = this[i]; // in case fun mutates this if (fun.call(thisp, val, i, this)) { res.push(val); } } } return res; }; } var numbers = [1,2,3,4,5,6]; var filterResult = numbers.filter(function(item, inde, array){ return (item>2); }); alert(filterResult); // 3,4,5,6
// ============ Date.now() ===============// // Date.now(); IE8及如下不支持,只能本身寫一個解決 if(!Date.now){ Date.now = function(){ return new Date().valueOf(); } } alert(Date.now());
// ============ stringValue[1] ===============// // 在IE7 及如下版本顯示 undefined var stringValue = "hello world"; alert(stringValue[1]);
// ============ trim() ===============// // 在IE8 及如下版本無效,須要本身寫 String.prototype.trim = function(){ return this.replace(/(^\s*)(\s*$)/g, ""); }; var stringValue2 = " hello world "; alert(stringValue2.trim());