prototype框架中美元符号$用法分析


Posted in Javascript onJanuary 22, 2016

本文实例讲述了prototype框架中美元符号$用法。分享给大家供大家参考,具体如下:

prototype是实现面向对象的一个重要工具,是javascript的一个不错的框架。
用jquery的人都知道,jquery中也有$美元符号,prototype中呢,也有$,他们有什么区别呢。

1、prototype中$()的用法

prototype写法 $("test") 或者 $$("#test"), 他相当于js中document.getElementById("test");
jqueryp写法 $("#test") ,他也相当于js中document.getElementById("test");

2、prototype中的$$()用法

jquery写法 $("div") 他相当于document.getElementsByTagName('div')
如果prototype也想简单取得页面中所有div元素,就不能这样写了。
prototype写法  $("div") 他相当于document.getElementById("div")
prototype写法  $$("div") 他相当于document.getElementsByTagName('div')
prototype写法 $$("input[value=tank]") 取得页面中输入框值为tank的标签,其实和jquery差不多,只不过多了一个$符号而已

3、prototype中的$A()用法

$A 主要是用来将可当作数组使用的任意集合(如 NodeList、许多 DOM 方法返回的 HTMLCollection 或函数对象的 arguments 属性)转换为一个真正的 Array 对象。下面四种方法都可以隐藏页面中的div标签

$A($$('div')).each(Element.hide); 
$A($$('div')).map(Element.extend).invoke("hide"); 
//从思想上来看,下面二种写法,我在用jquery时,也经常用 
$A($$('div')).each(function(name,index){ 
 name.style.display='none'; 
 alert(name.innerHTML); 
 }) 
 $A($$('div')).each(function(name,index){ 
 $(name).hide(); 
})

如果例子中出现TypeError: element.style is undefined { message="element.style is undefined",  more...},请把你的prototype的版本升一下级

4、prototype中的$F()用法

个人觉得$F的用法,被设计出来是为了更方便的取表单数据,不过它比较单一,因为他只能通过ID来取

<input name="name" value="tank" id="name">
$F("name")  正确的

<input name="name" value="tank"  >
$F("name")  不正确的,TypeError: element is null { message="element is null", more...}

5、prototype中的$H()用法

当你传入一下对像作为函数的参数时,$H将输入对像一个prototype的专有hash对像。$H感觉像是转换器,启到一个改变形势的作用

$H({name:'tank',sex:1,height:'170cm'}).toArray()
[["name", "tank"], ["sex", 1], ["height", "170cm"]]
$H({name:'tank',sex:1,height:'170cm'}).toQueryString()
"name=tank&sex=1&height=170cm"

6、prototype中的$R()用法

$R函数和原始的构造函数具有完全相同的参数:start 和 end 分别表示下限值和上限值(两个参数的类型必须一致),exclusive 表示是否排除上限值(参数 end)。默认不排除上限值。

$R的实例描述了一系列遵循某种规则变化的值,如数字、 文本或其它在语义上支持相邻值推导的类型

能过例子,来说明,最容易让人记住了

$A($R("a","z",true)).join(',') //加了参数true 
"a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y" 
$A($R("a","z")).join(',') //没有加 
"a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z"

$R根据规则推测了一个$R对像,$A将这个对像转换成了数组,用,号将数组转换成字符串.

$R(0, 10).each(function(value){ 
 alert(value*value); 
}); 
//结果和上面的一样的,但是each解释的对像是不一样的。 
$A($R(0, 10)).each(function(value){ 
 alert(value*value); 
});

如果报这样的错误 ,TypeError: value.succ is not a function { message="value.succ is not a function", more...},请升级

7、prototype中的$w()用法

$w将以空格是为分隔符的字符串,转换成数组,根php的explode(" ",$string);功能是一样的,针对性比较强。

$w("aa bb").join(',')

如果报这样的错误 ,ReferenceError: $w is not defined { message="$w is not defined",  more...},请升级

希望本文所述对大家JavaScript程序设计有所帮助。

Javascript 相关文章推荐
JavaScript之引用类型介绍
Aug 10 Javascript
JS滚轮事件onmousewheel使用介绍
Nov 01 Javascript
讨论html与javascript在浏览器中的加载顺序问题
Nov 27 Javascript
js 定时器setTimeout无法调用局部变量的解决办法
Nov 28 Javascript
JavaScript对IE操作的经典代码(推荐)
Mar 10 Javascript
js改变embed标签src值的方法
Apr 10 Javascript
用director.js实现前端路由使用实例
Jan 27 Javascript
JavaScript Canvas绘制圆形时钟效果
Aug 20 Javascript
详解在express站点中使用ejs模板引擎
Sep 21 Javascript
vue 将多个过滤器封装到一个文件中的代码详解
Sep 05 Javascript
Vue仿百度搜索功能
Dec 28 Vue.js
JavaScript展开运算符和剩余运算符的区别详解
Feb 18 Javascript
详解javascript传统方法实现异步校验
Jan 22 #Javascript
jquery.validate提示错误信息位置方法
Jan 22 #Javascript
jQuery ajax时间差导致的变量赋值问题分析
Jan 22 #Javascript
jQuery简单获取键盘事件的方法
Jan 22 #Javascript
基于JavaScript实现高德地图和百度地图提取行政区边界经纬度坐标
Jan 22 #Javascript
CSS或者JS实现鼠标悬停显示另一元素
Jan 22 #Javascript
鼠标悬停小图标显示大图标
Jan 22 #Javascript
You might like
PHP加Nginx实现动态裁剪图片方案
2014/03/10 PHP
PHP实现的通过参数生成MYSQL语句类完整实例
2016/04/11 PHP
PHP的JSON封装、转变及输出操作示例
2019/09/27 PHP
初窥JQuery(一)jquery选择符 必备知识点
2010/11/25 Javascript
超轻量级的基于jquery的三级展开列表
2011/04/26 Javascript
Javascript操作cookie的函数代码
2012/10/03 Javascript
JS控制图片等比例缩放的示例代码
2013/12/24 Javascript
javascript设计模式之中介者模式Mediator
2014/12/30 Javascript
js中this用法实例详解
2015/05/05 Javascript
JS选中checkbox后获取table内一行TD所有数据的方法
2015/07/01 Javascript
jQuery实现鼠标滑向当前图片高亮显示并且其它图片变灰的方法
2015/07/27 Javascript
利用Angular.js编写公共提示模块的方法教程
2017/05/28 Javascript
JS实现静态页面搜索并高亮显示功能完整示例
2017/09/19 Javascript
node.js基于fs模块对系统文件及目录进行读写操作的方法详解
2017/11/10 Javascript
基于jquery trigger函数无法触发a标签的两种解决方法
2018/01/06 jQuery
vue init webpack myproject构建项目 ip不能访问的解决方法
2018/03/20 Javascript
js 数组详细操作方法及解析合集
2018/06/01 Javascript
从零开始在NPM上发布一个Vue组件的方法步骤
2018/12/20 Javascript
[02:05:03]完美世界DOTA2联赛循环赛 LBZS VS Matador BO2 10.28
2020/10/28 DOTA
Python使用logging结合decorator模式实现优化日志输出的方法
2016/04/16 Python
python实现八大排序算法(1)
2017/09/14 Python
python 读取文本文件的行数据,文件.splitlines()的方法
2018/07/12 Python
Python 实现Windows开机运行某软件的方法
2018/10/14 Python
对python3.4 字符串转16进制的实例详解
2019/06/12 Python
Python处理PDF与CDF实例
2020/02/26 Python
基于Python绘制美观动态圆环图、饼图
2020/06/03 Python
全世界最美丽的四星和五星级酒店预订:Prestigia.com
2017/11/15 全球购物
Solaris操作系统的线程机制
2015/07/28 面试题
自我评价正确写法范文
2013/12/10 职场文书
物业保安员岗位职责制度
2014/01/30 职场文书
电脑专业个人求职信范文
2014/02/04 职场文书
《蒙娜丽莎之约》教学反思
2014/02/27 职场文书
贷款委托书怎么写
2014/08/02 职场文书
三傻大闹宝莱坞观后感
2015/06/03 职场文书
2015年主婚人婚礼致辞
2015/07/28 职场文书
victoriaMetrics库布隆过滤器初始化及使用详解
2022/04/05 Golang