DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> JavaScript入門知識 >> JavaScript基礎知識 >> javascirpt 的一些在IE下不支持的函數小結
javascirpt 的一些在IE下不支持的函數小結
編輯:JavaScript基礎知識     
看紅寶書看了兩天,發現原來好多js的方法都是在IE9+才支持,連IE8都不支持。。想要實現這些方法只能自己寫,總結下。



// ============ 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());
XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved