prototype中的$R函数的用法

简介:
$R(start, end[, exclusive = false]) → ObjectRange

Creates a new ObjectRange object. This method is a convenience wrapper around the ObjectRange constructor, but$R is the preferred alias.

ObjectRange instances represent a range of consecutive values, be they numerical, textual, or of another type that semantically supports value ranges. See the type's documentation for further details, and to discover how your own objects can support value ranges.

The $R function takes exactly the same arguments as the original constructor: the lower and upper bounds (value of the same, proper type), and whether the upper bound is exclusive or not. By default, the upper bound is inclusive.

 

 
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
  2.  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
  3. <html> 
  4.     <head> 
  5.         <title>$R</title> 
  6.         <script type="text/javascript" language="javascript" 
  7.          src="prototype.js" ></script> 
  8.         <script> 
  9.         // 依次输出1,2,3,4,为true时,右括号为开区间 
  10.         function test_R1(){ 
  11.             var range = $R(1, 5, true); 
  12.             range.each(function(value){ 
  13.                 alert(value); 
  14.             }); 
  15.         } 
  16.  
  17.         // 依次输出1,2,3,4,5,为false时,右括号为闭区间 
  18.         function test_R2(){ 
  19.             var range = $R(1, 5, false); 
  20.             range.each(function(value){ 
  21.                 alert(value); 
  22.             }); 
  23.         } 
  24.         function test(){ 
  25.             alert($R(0, 10).include(10)); 
  26.             // -> true 
  27.              alert($A($R(0, 5)).join(', ')); 
  28.             // -> '0, 1, 2, 3, 4, 5' 
  29.              alert($A($R('aa', 'ah')).join(', ')); 
  30.             // -> 'aa, ab, ac, ad, ae, af, ag, ah' 
  31.              alert($R(0, 10, true).include(10)) 
  32.             // -> false 
  33.             var arr = $R(0, 10, true).each(function(value) { 
  34.               // invoked 10 times for value = 0 to 9 
  35.             }) 
  36.             arr.each(function(value){ 
  37.                 alert(value); 
  38.             }); 
  39.         } 
  40.         </script> 
  41.     </head> 
  42.     <body> 
  43.         <form> 
  44.             <input type="button" value="click (exclusive = true)" 
  45.             onclick="test_R1()" /> 
  46.             <input type="button" value="click (exclusive = false)" 
  47.             onclick="test_R2()" /> 
  48.             <input type="button" value="click" onclick="test()"/> 
  49.         </form> 
  50.     </body> 
  51. </html> 

以下是官方特别让注意的:

Warning

Be careful with String ranges: as described in its String#succ method, it does not use alphabetical boundaries, but goes all the way through the character table:

 

 
  1. $A($R('a', 'e')) 
  2. // -> ['a', 'b', 'c', 'd', 'e'], no surprise there 
  3.  $A($R('ax', 'ba')) 
  4. // -> Ouch! Humongous array, starting as ['ax', 'ay', 'az', 'a{', 'a|', 'a}', 'a~'...] 

 


本文转自sucre03 51CTO博客,原文链接:http://blog.51cto.com/sucre/410438,如需转载请自行联系原作者


相关文章
|
机器学习/深度学习 算法 Python
【Python机器学习】神经网络中常用激活函数、损失函数、优化方法(图文解释 附源码)
【Python机器学习】神经网络中常用激活函数、损失函数、优化方法(图文解释 附源码)
949 0
|
Android开发 架构师
Android:动态更换桌面ICON
前言 当老板和产品提出这种需求的时候,我并不感到害怕,心里甚至有点窃喜,因为大厂基本都有这种效果,那肯定也好实现。当我一查资料的时候,发现情况不容乐观。
5463 0
|
1月前
|
人工智能 数据可视化 数据挖掘
Quick BI AIPro 全新发布,让数据成为企业增长引擎!
阿里云Quick BI AIPro正式发布!AI-native架构全新升级,支持自然语言对话分析,5大能力进化:深度分析、业务理解、行动推动、可信追溯、组织协同。首月赠12.5万Credits,0成本快速上手,存量客户无缝升级,新用户上传数据即用。立即免费试用!
252 0
|
2月前
|
机器学习/深度学习 存储 人工智能
2026年阿里云服务器活动价格:轻量、经济型、通用算力型、计算型等热门实例活动价格参考
2026年阿里云推出多档位高性价比云服务器特惠活动,覆盖轻量应用、经济型e、通用算力型u1/u2i等全系列规格。新用户可抢轻量应用服务器2核2G仅38元/年,2核4G低至9.9元/月;新老用户同享2核2G 3M带宽经济型e实例99元/年、2核4G 5M带宽通用算力型u1实例199元/年,且续费同价。同时提供从2核2G到24核64G的经济型、通用算力型全规格报价参考,适配个人博客、企业官网、数据分析等不同场景,帮助用户按需选择高性价比算力方案。
|
2月前
|
人工智能 JSON JavaScript
开发者指南:如何高效导出豆包AI对话记录并进行智能体数据迁移
本文探讨了将豆包AI对话记录完整导出的技术思路,分析了DOM渲染机制带来的挑战,并介绍了浏览器脚本、自动化框架、浏览器扩展等实现路径。重点说明了数据预加载、格式化与JSON/Markdown导出的通用流程,以及导出数据在模型微调、跨平台迁移中的后续利用方法,同时强调了数据安全与合规使用注意事项。
|
8月前
|
人工智能 自然语言处理 安全
2026年企业如何应用智能客服,核心技术与产品选型指南
2026年,AI大模型与智能体推动智能客服从“降本工具”升级为“增长引擎”。企业通过“全渠道接入-多模态交互-人机协同-数据驱动”闭环,实现降本、提效、获客与体验升级。分阶段落地策略助力业务规模化增长。
2026年企业如何应用智能客服,核心技术与产品选型指南
|
11月前
|
关系型数据库 分布式数据库 数据库
又一国赛来啦!第2届PolarDB数据库创新设计赛开放报名!|全国普通高校学科竞赛排行榜入选赛事等你来战
「2025全国大学生计算机系统能力大赛——第2届PolarDB数据库创新设计赛」已启动报名,面向全国高校本、专、硕博学生开放。赛事聚焦PolarDB-PG向量计算优化,设初赛与决赛,总奖金达25万元。旨在提升数据库系统设计与创新能力,推动产学研融合,欢迎踊跃参赛!
|
存储 文件存储 对象存储
使用OSS快速搭建个人网盘
通过本实验,用户可学会如何创建OSS bucket,并利用oss自有的图形化工具来作为个人网盘进行上传下载等操作,帮助用户0代码文件上云。
|
敏捷开发 人工智能 数据可视化
2025年必备的任务跟踪管理工具深度解析:10款提升团队协作效率的专业平台
任务跟踪管理工具在企业运营中日益重要,尤其在2025年,AI驱动、实时协作、跨平台同步及系统集成成为主要趋势。本文介绍了10款必备工具,如PingCode、Worktile、Trello、Jira等,并分析了其适用场景与功能特点,帮助企业根据团队规模、工作方法论和集成需求选择合适工具,提升协作效率与项目管理水平。
578 3
|
数据采集 存储 Web App开发
多线程爬虫优化:快速爬取并写入CSV
多线程爬虫优化:快速爬取并写入CSV

热门文章

最新文章