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 相关文章推荐
jquery中常用的SET和GET
Jan 13 Javascript
JSON 入门指南 想了解json的朋友可以看下
Aug 26 Javascript
javascript 进阶篇3 Ajax 、JSON、 Prototype介绍
Mar 14 Javascript
extjs两个tbar问题探讨
Aug 08 Javascript
ionic2自定义cordova插件开发以及使用(Android)
Jun 19 Javascript
详解如何使用Node.js编写命令工具——以vue-cli为例
Jun 29 Javascript
vue proxyTable 接口跨域请求调试的示例
Sep 12 Javascript
Vue 组件(component)教程之实现精美的日历方法示例
Jan 08 Javascript
H5+C3+JS实现五子棋游戏(AI篇)
May 28 Javascript
详解javascript函数写法大全
Mar 25 Javascript
JavaScript indexOf()原理及使用方法详解
Jul 09 Javascript
JavaScript 几种循环方式以及模块化的总结
Sep 03 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
全国FM电台频率大全 - 18 湖南省
2020/03/11 无线电
PHP 5.0对象模型深度探索之类的静态成员
2008/03/27 PHP
frename PHP 灵活文件命名函数 frename
2009/09/09 PHP
php字符串分割函数explode的实例代码
2013/02/07 PHP
PHP会话控制:Session与Cookie详解
2014/09/27 PHP
php使用ZipArchive提示Fatal error: Class ZipArchive not found in的解决方法
2014/11/04 PHP
ThinkPHP数据操作方法总结
2015/09/28 PHP
Gambit vs ForZe BO3 第一场 2.13
2021/03/10 DOTA
JS命名空间的另一种实现
2013/08/09 Javascript
Javascript Ajax异步读取RSS文档具体实现
2013/12/12 Javascript
jquery ajax传递中文参数乱码问题及解决方法说明
2014/02/07 Javascript
jQuery打印指定区域Html页面并自动分页
2014/07/04 Javascript
Javascript堆排序算法详解
2014/12/03 Javascript
jQuery实现的感应鼠标悬停图片色彩渐显效果
2015/03/03 Javascript
jQuery实现选项联动轮播效果【附实例】
2016/04/19 Javascript
Vue.JS实现垂直方向展开、收缩不定高度模块的JS组件
2018/06/19 Javascript
在移动端使用vue-router和keep-alive的方法示例
2018/12/02 Javascript
layer弹出层自定义提交取消按钮的例子
2019/09/10 Javascript
JavaScript 反射和属性赋值实例解析
2019/10/28 Javascript
使用Python编写简单网络爬虫抓取视频下载资源
2014/11/04 Python
Python类属性的延迟计算
2016/10/22 Python
Python3.6简单的操作Mysql数据库的三个实例
2018/10/17 Python
Python文件常见操作实例分析【读写、遍历】
2018/12/10 Python
python设置环境变量的原因和方法
2019/06/24 Python
Python3远程监控程序的实现方法
2019/07/15 Python
Python使用scipy模块实现一维卷积运算示例
2019/09/05 Python
python实现连续变量最优分箱详解--CART算法
2019/11/22 Python
python自动脚本的pyautogui入门学习
2020/04/01 Python
解决echarts中饼图标签重叠的问题
2020/05/16 Python
北美个性化礼品商店:Things Remembered
2018/06/12 全球购物
Raffaello Network西班牙:意大利拉斐尔时尚购物网
2019/03/12 全球购物
毕业生应聘幼儿园的自荐信
2013/11/20 职场文书
群众路线剖析材料
2014/02/02 职场文书
《开国大典》教学反思
2014/04/19 职场文书
2015小学教育教学工作总结
2015/07/21 职场文书
springboot集成springCloud中gateway时启动报错的解决
2021/07/16 Java/Android