国产99久久精品_欧美日本韩国一区二区_激情小说综合网_欧美一级二级视频_午夜av电影_日本久久精品视频

最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
當前位置: 首頁 - 科技 - 知識百科 - 正文

YUI讀碼日記之YAHOO.lang.is*_YUI.Ext相關

來源:懂視網 責編:小采 時間:2020-11-27 20:38:47
文檔

YUI讀碼日記之YAHOO.lang.is*_YUI.Ext相關

YUI讀碼日記之YAHOO.lang.is*_YUI.Ext相關:YAHOO.lang = YAHOO.lang { isArray: function(o) { if (o) { var l = YAHOO.lang; // 如果該對象有 length 這個屬性,同時支持 splice 方法, // 那么就認為它為數組。 return l.isNumber(o.length) && l.
推薦度:
導讀YUI讀碼日記之YAHOO.lang.is*_YUI.Ext相關:YAHOO.lang = YAHOO.lang { isArray: function(o) { if (o) { var l = YAHOO.lang; // 如果該對象有 length 這個屬性,同時支持 splice 方法, // 那么就認為它為數組。 return l.isNumber(o.length) && l.

YAHOO.lang = YAHOO.lang || {
isArray: function(o) {
if (o) {
var l = YAHOO.lang;
// 如果該對象有 length 這個屬性,同時支持 splice 方法,
// 那么就認為它為數組。
return l.isNumber(o.length) && l.isFunction(o.splice);
}
return false;
},

isBoolean: function(o) {
return typeof o === 'boolean';
},

isFunction: function(o) {
return typeof o === 'function';
},

isNull: function(o) {
return o === null;
},

isNumber: function(o) {
return typeof o === 'number' && isFinite(o);
},

isObject: function(o) {
return (o && (typeof o === 'object' ||
YAHOO.lang.isFunction(o))) || false;
},

isString: function(o) {
return typeof o === 'string';
},

isUndefined: function(o) {
return typeof o === 'undefined';
},

//...

isValue: function(o) {
// Infinity fails
// return (o || o === false || o === 0 || o === '');
var l = YAHOO.lang;
return (l.isObject(o) || l.isString(o) ||
l.isNumber(o) || l.isBoolean(o));
}
};…… 復制粘貼分割線 ……

據悉,在 YUI 2.2.0 版本以前,YAHOO.lang.isArray 是這樣寫的。

isArray: function(obj) {
// safari 有 bug,只好處理字符串
if (obj && obj.constructor &&
obj.constructor.toString().indexOf('Array') > -1) {
return true;
} else {
return YAHOO.lang.isObject(obj) && obj.constructor == Array;
}
},而這樣的判斷數組類型是有缺陷的,比如下面的代碼

function myArray() {
this.name = 'name';
}
var o2 = new myArray();
alert(YAHOO.util.isArray(o2)); // 彈出true
// 因為 obj.constructor.toString() 中包含 myArray 字樣,所以返回true

function Obj() {
this.name = 'name';
}
var o = new Obj();
o.constructor = Array;
alert(YAHOO.util.isArray(o)); // 彈出 true
// 因為在 JavaScript 里,constructor 也是屬性
// 可以動態指定,所以返回 true因此,在 YUI 的后續版本,YAHOO.lang.isArray 被修改成了目前的這個樣子

isArray: function(o) {
if (o) {
var l = YAHOO.lang;
// 如果該對象有 length 這個屬性,同時支持 splice 方法,
// 那么就認為它為數組。
return l.isNumber(o.length) && l.isFunction(o.splice);
}
return false;
},新的實現用了另外的思路:如果該對象有 length 這個屬性,同時支持 splice 方法,那么就認為它為數組。當然,它依然有漏洞,我們仍然可以創建一個對象,使其擁有 length 屬性和 splice 方法。但我覺得現在的實現更為合理,因為一來可能性不大,二來避免了詭異的瀏覽器的 BUG 。

再看 YUI 2.3.0 后引入的 YAHOO.lang.isValue,其實就是判斷參數是否是一個有意義的值,只要參數不是 null/undefined/NaN,那么都返回 true。(注意這和一般的判斷真假的不同就是, 0/false/''(空字符串) 這些都算是有效的值),所以 YAHOO.lang.isValue 非常適合用來判斷表單域的值是否為有效值。

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文檔

YUI讀碼日記之YAHOO.lang.is*_YUI.Ext相關

YUI讀碼日記之YAHOO.lang.is*_YUI.Ext相關:YAHOO.lang = YAHOO.lang { isArray: function(o) { if (o) { var l = YAHOO.lang; // 如果該對象有 length 這個屬性,同時支持 splice 方法, // 那么就認為它為數組。 return l.isNumber(o.length) && l.
推薦度:
標簽: Yahoo ext yui
  • 熱門焦點

最新推薦

猜你喜歡

熱門推薦

專題
Top
主站蜘蛛池模板: 国产精品成人一区二区1 | 8x成人在线| 亚洲一级毛片 | 在线播放国产视频 | 91香蕉国产亚洲一区二区三区 | 99热这里只有精品一区二 | 国产三级一区二区 | 伊人久久综合网亚洲 | 国产男同 | 欧美激情一区二区三区不卡 | 第一页亚洲 | 久久精品亚洲欧美日韩久久 | 欧美色图在线观看 | 麻豆国产成人精品午夜视频 | 天堂亚洲欧美日韩一区二区 | 国产精品视频一区二区噜噜 | 亚洲一区 中文字幕 | 国产不卡在线 | 免费高清欧美大片在线观看 | 欧美aa在线观看 | 国产欧美一区二区精品性色99 | 精品一区 二区三区免费毛片 | 亚洲 欧美 中文字幕 | 在线观看国产 | 性久久久久 | 欧美第一夜 | 国产成人拍精品视频网 | 免费国产小视频在线观看 | 精品国产欧美一区二区 | 亚洲欧美中文日韩在线v日本 | 精品国产一二三区在线影院 | 成人欧美精品久久久久影院 | 91在线免费看 | 五十路中文字幕 | 国产亚洲欧美日韩俺去了 | 国产精品亚洲四区在线观看 | 图片专区亚洲欧美另类 | 久久久久国产成人精品亚洲午夜 | 伊人网影院 | 亚洲精品国产精品精 | 国产精品久久久久久一区二区 |