作家
登录

Prototype 学习 工具函数学习($方法)

作者: 来源:www.28hudong.com 2013-03-30 02:29:13 阅读 我要评论

$ $$ $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. 复制代码 代码如下: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); } 首先检查传进来的参数长度: 如果长度等于1,则判断传进来的参数是否为String,如果传进来的是String,则调用getElementById方法取得相应的对象,最后让返回的对象继承Element的所有方法,这样返回的对象将可以直接调用Element对象里面定义的各种方法。例如 复制代码 代码如下:// Note quite OOP-like... Element.hide('itemId'); // A cleaner feel, thanks to guaranted extension $('itemId').hide(); 如果长度大于1,则递归调用$方法(elements.push($(arguments[i]));)就是说传进来的参数可以是多维数组: $(['A','B',['C','D',['E','F']]]),当然了返回的也是对象数组了。 如果长度等于0,返回undefined,即直接调用alert($()) 详细看一下Object.isString方法: 复制代码 代码如下:function isString(object) { return getClass(object) === "String"; } //=====> getClass() function getClass(object) { return Object.prototype.toString.call(object) .match(/^[objects(.*)]$/)[1]; }主要是通过Object对象的内部方法getClass来确定返回的对象是什么类型,在getClass中调用了Object的toString方法,然后通过正则表达式取出表示具体对象的字符串 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方法呢,因为如果直接调用"2222".toString()将返回"2222",也就是说从Object继承而来的对象,重写了toStirng方法,所以这里要调用Object的toString才行。

  推荐阅读

  prototype 学习笔记整理

var Class = { create: function() { return function() { this.initialize.apply(this, arguments); } } } 定义了一个class函数作为创建类的模版或者说是原型 使用方法 复制代码 代码如下: <html> <title>Test Cl>>>详细阅读


本文标题:Prototype 学习 工具函数学习($方法)

地址:http://www.17bianji.com/kaifa2/JS/28443.html

关键词: 探索发现

乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

网友点评
自媒体专栏

评论

热度

精彩导读
栏目ID=71的表不存在(操作类型=0)