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静态的url如何传递
May 03 Javascript
jquery ui dialog里调用datepicker的问题
Aug 06 Javascript
分享10篇优秀的jQuery幻灯片制作教程及应用案例
Apr 16 Javascript
js图片自动切换效果处理代码
May 07 Javascript
浅谈javascript中this在事件中的应用
Feb 15 Javascript
Jquery实现textarea根据文本内容自适应高度
Apr 03 Javascript
jQuery实现信息提示框(带有圆角框与动画)效果
Aug 07 Javascript
JavaScript获取IP获取的是IPV6 如何校验
Jun 12 Javascript
仿百度换肤功能的简单实例代码
Jul 11 Javascript
微信小程序 获取相册照片实例详解
Nov 16 Javascript
vuex state及mapState的基础用法详解
Apr 19 Javascript
解决vue动态路由异步加载import组件,加载不到module的问题
Jul 26 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利用hash冲突漏洞进行DDoS攻击的方法分析
2015/03/26 PHP
Thinkphp 3.2框架使用Redis的方法详解
2019/10/24 PHP
BOOM vs RR BO5 第二场 2.14
2021/03/10 DOTA
jquery实现图片翻页效果
2013/12/23 Javascript
Js Jquery创建一个弹出层可加载一个页面
2014/05/08 Javascript
jQuery实现折线图的方法
2015/02/28 Javascript
Jquery简单分页实现方法
2015/07/24 Javascript
JS+CSS实现电子商务网站导航模板效果代码
2015/09/10 Javascript
JavaScrpt的面向对象全面解析
2017/05/09 Javascript
分析javascript中9 个常见错误阻碍你进步
2017/09/18 Javascript
js读取本地文件的实例
2017/12/22 Javascript
Angular5中提取公共组件之radio list的实例代码
2018/07/10 Javascript
在Create React App中使用CSS Modules的方法示例
2019/01/15 Javascript
js重写alert事件(避免alert弹框标题出现网址)
2020/12/04 Javascript
Vue 3自定义指令开发的相关总结
2021/01/29 Vue.js
[51:10]VP vs VGJ.S 2018国际邀请赛小组赛BO2 第二场 8.19
2018/08/21 DOTA
Python类的多重继承问题深入分析
2014/11/09 Python
python获取外网IP并发邮件的实现方法
2017/10/01 Python
python编程之requests在网络请求中添加cookies参数方法详解
2017/10/25 Python
Python实现可自定义大小的截屏功能
2018/01/20 Python
python3+dlib实现人脸识别和情绪分析
2018/04/21 Python
删除DataFrame中值全为NaN或者包含有NaN的列或行方法
2018/11/06 Python
一百行python代码将图片转成字符画
2021/02/19 Python
对Python闭包与延迟绑定的方法详解
2019/01/07 Python
Django 响应数据response的返回源码详解
2019/08/06 Python
使用NumPy读取MNIST数据的实现代码示例
2019/11/20 Python
Python Tornado之跨域请求与Options请求方式
2020/03/28 Python
酒店管理自荐信
2013/10/23 职场文书
JAVA程序员自荐书
2014/01/30 职场文书
精彩的英文自荐信
2014/01/30 职场文书
模具专业自荐信
2014/05/29 职场文书
安全生产目标管理责任书
2014/07/25 职场文书
2014年班组长工作总结
2014/11/20 职场文书
2015中学教师个人工作总结
2015/07/22 职场文书
浅谈MySQL中的六种日志
2022/03/23 MySQL
JS前端轻量fabric.js系列之画布初始化
2022/08/05 Javascript