当前位置: 首页 > news >正文

网站百度郑州做网站 熊掌号

网站百度,郑州做网站 熊掌号,做词云的网站,网站优化怎样提高网站用户体验此文为转载文章#xff1a; 什么是arguments arguments 是是JavaScript里的一个内置对象#xff0c;它很古怪#xff0c;也经常被人所忽视#xff0c;但实际上是很重要的。所有主要的js函数库都利用了arguments对象。所以agruments对象对于javascript程序员来说是必需熟悉的…此文为转载文章 什么是arguments arguments 是是JavaScript里的一个内置对象它很古怪也经常被人所忽视但实际上是很重要的。所有主要的js函数库都利用了arguments对象。所以agruments对象对于javascript程序员来说是必需熟悉的。 所有的函数都有属于自己的一个arguments对象它包括了函所要调用的参数。他不是一个数组如果用typeof arguments返回的是’object’。虽然我们可以用调用数据的方法来调用arguments。比如length,还有index方法。但是数 组的push和pop对象是不适用的。 创建一个灵活的函数 看起来貌似argument对象使用起来十分有限但是实际上它是一个非常有用的对象。你可以通过使用argument对象让函数能够调用数量不定 的参数。在Dean Edwards的base2库里有个格式化的函数展示了这个灵活性。 function format(string) {      var args arguments;      var pattern new RegExp(“%([1- arguments.length ])”, ”g”);      return String(string).replace(pattern, function(match, index) {        return args[index];      });    }; 我们提供了一个模板字符串你可以用”%1”到“%9”给返回值添加一个占位符。然后提供给九个其他参数插入。 format(“And the %1 want to know whose %2 you %3″, ”papers”, ”shirt”, ”wear”); 上面的代码将返回And the papers want to know whose shirt you wear . 有件事情我们需要注意下在定义函数的时候我们只规定了一个参数string。Javascript允许我们传递任何数量的参数到一个函数里不管怎么定义这个函数。Arguments对象对这些都是允许的。 把arguments对象转换成一个真正的数组 虽然arguments对象不是一个真正的javascript数组但是我们还是可以轻易的把它转换成标准的数据 然后进行数组操作。 var args Array.prototype.slice.call(arguments); 那么现在这个变量args就含有一个含有函数所有参数的标准javascript数组对象。 通过预置的arguments对象创建函数 Arguments对象允许我们去执行所有类型的javascript方法。这边附上一个makeFunc函数的定义。这个函数允许我们去提供一个函数引用和这个函数的所有参数。他将返回一个匿名函数去调用你规定的函数也提供了匿名函数调用时所附带的参数。 function makeFunc() {      var args Array.prototype.slice.call(arguments);      var func args.shift();      return function() {        return func.apply(null, args.concat(Array.prototype.slice.call(arguments)));      };    } 第一个argument对象给makeFunc提供了你想调用的函数的引用。他是从arguments数组里移除的。然后makeFunc返回了一个匿名函数去运行规定的方法。 第一个应用的argument指向了函数调用的范围主要是函数内部关键部分所指向的。我们先保持这个为null。第二个arguments是一个 数组会为这个函数转变为arguments对象。makeFunc把原始的数组值串联到arguments对象里提供给匿名函数和所调用函数的数组。 你需要输出一个模板总是相同的位置这样就可以不用总是在每次引用模板的时候调用format函数。你可以使用makeFunc的通用功能去返回可以调用format然后自动补充模板的函数。 var majorTom makeFunc(format, ”This is Major Tom to ground control. I’m %1.”); 你可以像这样调用majorTom函数 majorTom(“stepping through the door”);    majorTom(“floating in a most peculiar way”); 每一次你调用majorTom它会同时调用format函数和第一个argument已经写好的模板。那么将返回 “This is Major Tom to ground control. I’m stepping through the door.”    “This is Major Tom to ground control. I’m floating in a most peculiar way.” 创建引用自身的函数 你可能觉得这样很酷不过arguments还有更多的惊喜。他还有其他有用的特性callee方法 。Arguments.callee包括了一个函数的引用去创建一个argument对象。那么该如何使用呢 Arguments.callee方法能让一个匿名函数很方便的指向本身。 Repeat是一个承载了一个函数引用和两个数字的函数。第一个数字是函数调用几次第二个数字是每个调用的间隔时间单位是毫秒。 function repeat(fn, times, delay) {      return function() {        if(times– 0) {          fn.apply(null, arguments);          var args Array.prototype.slice.call(arguments);          var self arguments.callee;          setTimeout(function(){self.apply(null,args)}, delay);        }      };    }  Repeat函数使用了arguments.callee方法从变量self去获取一个引用指向运行原始指令的函数。这样匿名函数就可以再次调用本身。 我有一段超级简介的函数承载了一个字符串和执行alert方法。 function comms(s) {      alert(s);    }  然而我想创建一个特殊的版本通过这个版本我可以重复这个动作三次每次间隔2秒钟。那么我们可以 var somethingWrong repeat(comms, 3, 2000);    somethingWrong(“Can you hear me, major tom?”); 调用了somethingWrong函数的结果就是复这个动作三次每次alert间隔2秒钟。 Arguments虽然不是经常用到有点古怪但是它充满了惊喜非常值得我们去了解 。 原文地址arguments : A JavaScript Oddity转载于:https://www.cnblogs.com/flyaway100/p/3484883.html
http://www.pierceye.com/news/538692/

相关文章:

  • 彭阳县城乡与住房建设局网站建设网站论坛都需要哪些工具
  • html5制作网站寻花问柳一家专门做男人的网站
  • 广东省网站集约化建设方案网络营销热门岗位
  • 专门做食品的网站电商网站建设系统
  • 网站改版什么意思汕头网站推广哪家好
  • 东营wordpress网站建设网站底部放什么
  • 网站备案应该怎么做90自己做网站
  • wordpress网站基础知识天津泰达建设集团网站
  • 加强红色网站建设网页设计图片显示不出来
  • 玉林网站建设徐州铜山区
  • 福建网站建建设方案单一产品销售网站建设模板
  • 免费开源门户网站系统网站seo优化如何做
  • html网站分页怎么做wordpress cms plugin
  • 一个网站如何做seo优化卖书网站开发的背景
  • jsp网站开发源码实例广州网站优化排名推广
  • 网站建设中网站需求分析报告百度网盘电脑版下载
  • 爱做网站网址工商网站注册公司
  • 住房和城乡建设部网站下载魔改wordpress主题
  • dremrever怎么做网站阿里云php网站建设教程
  • 网站建设课程旅行社手机网站建设方案
  • 书店网站建设策划书总结关于外贸公司的网站模板
  • 张家港市规划建设网站房地产估价师
  • 创建网站有什么用南京做网站优化的企业
  • 网站seo设置是什么怎么知道网站被百度k了
  • 个人网站开发的意义自己建设网站需要什么手续
  • 网站的建设流程怎样使用仿站小工具做网站
  • 佛山企业模板建站企业微信管理系统
  • 百度推广登录网站网站开发需要什么技术人员
  • 有关网站升级建设的申请书中国工业设计公司
  • 线上销售怎么做优化网站哪家好