天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

Prototype 學(xué)習(xí) 工具函數(shù)學(xué)習(xí)($方法)

$
$$
$A
$F
$H
$R
$w
Try.these
document.getElementsByClassName
$方法――被成為瑞士軍刀(Swiss Army knife)
If provided with a string, returns the element in the document with matching ID; otherwise returns the passed element. Takes in an arbitrary number of arguments. All elements returned by the function are extended with Prototype DOM extensions.
復(fù)制代碼 代碼如下:
function $(element) {
if (arguments.length > 1) {
for (var i = 0, elements = [], length = arguments.length; i < length;
i++)
elements.push($(arguments[i]));
return elements;
}
if (Object.isString(element))
element = document.getElementById(element);
return Element.extend(element);
}

首先檢查傳進(jìn)來(lái)的參數(shù)長(zhǎng)度:

如果長(zhǎng)度等于1,則判斷傳進(jìn)來(lái)的參數(shù)是否為String,如果傳進(jìn)來(lái)的是String,則調(diào)用getElementById方法取得相應(yīng)的對(duì)象,最后讓返回的對(duì)象繼承Element的所有方法,這樣返回的對(duì)象將可以直接調(diào)用Element對(duì)象里面定義的各種方法。例如
復(fù)制代碼 代碼如下:
// Note quite OOP-like...
Element.hide('itemId');
// A cleaner feel, thanks to guaranted extension
$('itemId').hide();

如果長(zhǎng)度大于1,則遞歸調(diào)用$方法(elements.push($(arguments[i]));)就是說(shuō)傳進(jìn)來(lái)的參數(shù)可以是多維數(shù)組:
$(['A','B',['C','D',['E','F']]]),當(dāng)然了返回的也是對(duì)象數(shù)組了。
如果長(zhǎng)度等于0,返回undefined,即直接調(diào)用alert($())
詳細(xì)看一下Object.isString方法:
復(fù)制代碼 代碼如下:
function isString(object) {
return getClass(object) === "String";
}

//=====> getClass()

function getClass(object) {
return Object.prototype.toString.call(object)
.match(/^/[object/s(.*)/]$/)[1];
}

主要是通過(guò)Object對(duì)象的內(nèi)部方法getClass來(lái)確定返回的對(duì)象是什么類型,在getClass中調(diào)用了Object的toString方法,然后通過(guò)正則表達(dá)式取出表示具體對(duì)象的字符串

Object.prototype.toString.call("2222") 返回"[object String]" 取得"String"

Object.prototype.toString.call(2222) 返回"[object Number]" 取得"Number"



Object.prototype.toString.call(/^$/) 返回"[object RegExp]" 取得"RegExp"

這里為什么要用Object的toString方法呢,因?yàn)槿绻苯诱{(diào)用"2222".toString()將返回"2222",也就是說(shuō)從Object繼承而來(lái)的對(duì)象,重寫了toStirng方法,所以這里要調(diào)用Object的toString才行。

JavaScript技術(shù)Prototype 學(xué)習(xí) 工具函數(shù)學(xué)習(xí)($方法),轉(zhuǎn)載需保留來(lái)源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 专干老肥熟女视频网站300部 | 99久久免费精品国产免费 | 国产午夜精品福利久久 | 国产AV麻豆出品在线播放 | 麻豆出品国产AV在线观看 | 99RE6国产精品视频播放 | 性色欲情网站IWWW九文堂 | 女人张开腿让男人桶爽免 | 国产高清视频在线观看97 | 22eee在线播放成人免费视频 | 动漫美女禁区图 | 亚洲精品欧美精品中文字幕 | 猪蜜蜜网站在线观看电视剧 | 国产一区二区三区内射高清 | 红桃传媒少妇人妻网站无码抽插 | 俄罗斯搜索引擎Yandex推广入口 | 精品久久久噜噜噜久久久app | 国产 在线 亚洲 欧美 动漫 | 欧美高清vivoesond在线播放 | 狠狠国产欧美在线视频 | 亚洲国产精品免费线观看视频 | 中文字幕人妻无码系列第三区 | 人人啪日日观看在线 | 四虎永久在线精品国产免费 | 首页_亚洲AV色老汉影院 | 日韩精品一区二区三区色欲AV | 国产精品国产三级国产专区53 | 999精品影视在线观看 | 国内精品免费视频精选在线观看 | 超碰超碰视频在线观看 | 亚洲色爽视频在线观看 | 丰满人妻按磨HD | 亚洲国产精品免费观看 | 少妇久久久久久被弄高潮 | 国产亚洲日韩另类在线播放 | 失禁 调教 刺激 哭喊男男 | 国产综合欧美区在线 | 伊人香蕉在线播放视频免费 | 最美女人体内射精一区二区 | 被六个男人躁到一夜同性 | 成人在线视频免费看 |