Prototype使用指南之array.js
$A = Array.from(iterable): 将iterable转化为数组,如果iterable定义了toArray方法,就调用这个方法,否则利用iterable的length属性进行枚举, 如果iterable没有length属性的话就返回空数组[]
Array对象除了扩展Enumerable对象的方法外,另外扩展了如下的几个方法,
注意以下方法除了clear外都不改变原来数组,而是返回一个新数组:
clear(): 清除数组,利用arr.length=0
first(): 返回第一个元素
last():返回最后一个元素
compact(): 去除数组中值为null或undefined的元素
flatten(): 将数组扁平化,例如[3,4,[6,7]]变为[3,4,6,7]
without(): 去除指定的元素, 可以指定多个值, 例如[4,56,7,8].without(4,7) 返回[56,8]
indexOf(object): 返回指定的元素在数组中的索引,不包含则返回-1
reverse(inline):Array内置函数reverse的增强,当inline为true时,跟内置的reverse函数效果一样,改变原数组的值,否则不改变原来的值
reduce(): 如果数组只有一个元素,则返回这个元素,否则返回数组本身
uniq(): 返回没有重复元素的数组
clone(): 返回一个跟数组相同的数组,Array中的toArray方法覆盖了Enumerable中的toArray方法,指向了这个方法
inspect(): 跟数组的toString方法类似,返回对象的字符串表示,例如[2,3].inspect() 返回 "[2,3]"
相关推荐
-
Prototype使用指南之array.js
$A = Array.from(iterable): 将iterable转化为数组,如果iterable定义了toArray方法,就调用这个方法,否则利用iterable的length属性进行枚举, 如果iterable没有length属性的话就返回空数组[] Array对象除了扩展Enumerable对象的方法外,另外扩展了如下的几个方法, 注意以下方法除了clear外都不改变原来数组,而是返回一个新数组: clear(): 清除数组,利用arr.length=0 first(): 返回第一个
-
Prototype使用指南之base.js
base.js中包含下面的内容 类的创建与继承: Class.create(): 创建一个类,例如 person=Class.create() Object.extend(destination, source): 把source中方法属性copy到destination(使用for propertyin source),需要注意的是,javascript中除了基本类型(Number, Boolean)外都是引用类型,所以这种copy一般只是copy引用而已,destination和sourc
-
Prototype使用指南之enumerable.js
Enumerable是一个抽象对象(需要说明的是,javascript中并没有类的概念,所指的类也就是一个函数,继承一般指的是一个对象(父)将它的方法属性copy(通过Object.extend, copy的是引用)到子类(函数)的prototype属性(一个对象)中) Enumerable不能直接使用,它被很多枚举类型(Hash.Array.Range等)所继承,继承的类型都要实现一个_each方法,提供具体类型的枚举方法 Enumerable为其他子类提供了如下的方法: each(itera
-
Prototype使用指南之selector.js说明
下面是css2 selector的语法,当然很多浏览器只是支持其中的一部分,Prototype 中的Selector主要支持tag选择器.class选择器和id选择器,还有属性(attribute)选择器,基本上包含我们平时所用的所有类型 The following table summarizes CSS2 selector syntax, 详细的可以看http://www.w3.org/TR/REC-CSS2/selector.html: Pattern Meaning Described
-
Prototype使用指南之selector.js
Selector是利用css selector来匹配选择页面元素的,所以要理解Selector首先应该对css selector有所理解,下面是css2 selector的语法,当然很多浏览器只是支持其中的一部分,Prototype 中的Selector主要支持tag选择器.class选择器和id选择器,还有属性(attribute)选择器,基本上包含我们平时所用的所有类型 The following table summarizes CSS2 selector syntax, 详细的可以看ht
-
Prototype使用指南之hash.js
Hash对象(关联数组)是Prototype新建的一个对象,要创建一个Hash对象可以调用$H(object)方法,因为javascript本身的特点(对象本身就是关联数组) ,所以实现Hash也很简单,Prototype中的Hash只是javascript的关联数组(对象) keys(): 返回hash的键值数组 values(): 返回值得数组 merge(hash): 合并两个hash toQueryString(): 跟string的toQueryParams方法想法,将hash转化为一
-
Prototype使用指南之string.js
下面介绍Prototype对String对象的扩展部分: 这部分主要为string对象添加了几个很有用的方法: strip(): 去掉字符串两边的空白, 例如" jj ".strip()返回"jj" stripTags():去掉字符串中的html标签 stripScripts(): 去掉字符串中的javascript代码段 extractScripts(): 返回字符串中的javascript代码,返回数组 evalScripts(): 执行字符串中的javas
-
Prototype使用指南之dom.js
这部分提供了很多(写的都有点烦了)方便的操作dom的方法:包含有名的$方法.document.getElementsByClassName方法,以及Element对象.Insertion对象 以下部分一个一个的详细介绍: $(element):getElementById的封装,element可以是一个元素的id或元素本身,也可以是一个数组,这时返回一个数组,使用$方法,会自动调用Element.extend(element)方法,这样的话使元素可以直接调用Element中的方法, 例如Elem
-
Prototype使用指南之range.js
Range对象是一个继承自Enumerable的"范围"对象,你可以把它看成[x,x+1,x+2,x+3......x+n]的数组看待,但是比这样的数组跟节省存储空间,因为range对象只是保存x和x+n而已 要创建一个Range对象可以调用$R(start, end, exclusive) 方法,exclusive指定是否包含end本身,如果没有指定或为false则包含end,否则不包含 你可以利用Enumerable中定义的方法来操作range对象,range对象只是实现了Enum
-
Prototype使用指南之form.js
这一部分提供了很多与表单操作有关的功能,包括以下部分,当通过$方法返回元素时,可以直接通过$(element).method()调用: Form对象:提供了操作整个表单的一些方法Form.Element对象:提供了操作某个表单元素的方法TimedObserver类:周期性表单监视器,当表单元素值改变的时候执行一个回调函数,有Form和Element两种类型EventObserver类:利用事件来监视表单元素,当表单元素值改变的时候执行一个回调函数,有Form和Element两种类型 Form对象
随机推荐
- 浅谈CI脚本异常退出问题定位
- 浏览器执行history.go(-1) FCKeditor编辑框内显示html源代码的解决方法
- 分享一则javascript 调试技巧
- linux下使用Docker和OSS轻松搭建ownCloud专属网盘(网盘关闭不用怕)
- 详解在 KVM 上安装 Win7 虚拟机
- 浅谈JS封闭函数、闭包、内置对象
- JavaScript中获取样式的原生方法小结
- asp.net DataList与Repeater用法区别
- Codeigniter框架的更新事务(transaction)BUG及解决方法
- IIS7.5显示ASP的详细错误信息"500 – 内部服务器错误解决"
- 升级SQL Server 2014的四个要点要注意
- php向js函数传参的几种方法
- php checkdate、getdate等日期时间函数操作详解
- Linux中使用expect脚本实现远程机器自动登录
- 重写document.write实现无阻塞加载js广告(补充)
- 伪静态URL中文乱码问题解决方法
- JavaScript中两个感叹号的作用说明
- Python中tell()方法的使用详解
- sql查看所有表大小的方法
- jQuery模拟下拉框选择对应菜单的内容