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

爱站seo工具包下载天蝎网站建设公司

爱站seo工具包下载,天蝎网站建设公司,个人网站 推荐,网站首页鲁大师#xff08;1#xff09;函数可以作为参数被传递 #xff08;2#xff09;函数可以作为返回值输出 4-1.函数作为参数传递 Array.prototype.sort方法#xff1a; var array [10,5,12,3];array.sort();//array:[10,12,3,5]//如代码那样#xff0c;排序的结果并不是我们想要…1函数可以作为参数被传递 2函数可以作为返回值输出 4-1.函数作为参数传递 Array.prototype.sort方法 var array [10,5,12,3];array.sort();//array:[10,12,3,5]//如代码那样排序的结果并不是我们想要的这与sort函数的比较规则有关系array.sort(function(a,b){return a-b;});//array:[3,5,10,12]传入一个比较的函数就可以按照数字大小的规则进行正确的比较了。 4-2.函数作为返回值输出 var getSingle function ( fn ) {var ret;return function () {return ret || ( ret fn.apply( this, arguments ) );};}; 4-3.函数作为参数被传递并且返回另一个函数 var getScript getSingle(function(){return document.createElement( script );});var script1 getScript();var script2 getScript();alert ( script1 script2 ); // 输出true 4-4.高阶函数应用 1高阶函数实现AOP AOP面向切面编程的主要作用是把一些跟核心业务逻辑模块无关的功能抽离出来这些业务逻辑无关的功能包括日志统计、控制安全、异常处理等。把这些功能抽离出来之后再通过“动态织入”的方式掺入业务逻辑模块中。 下面代码通过扩展Function.prototype来实现把一个函数“动态织入” Function.prototype.before function( beforefn ){var __self this; // 保存原函数的引用return function(){ // 返回包含了原函数和新函数的代理函数beforefn.apply( this, arguments ); // 执行新函数修正thisreturn __self.apply( this, arguments ); // 执行原函数}};Function.prototype.after function( afterfn ){var __self this;return function(){var ret __self.apply( this, arguments );afterfn.apply( this, arguments );return ret;}};var func function(){console.log( 2 );};func func.before(function(){console.log( 1 );}).after(function(){console.log( 3 );});func();2柯里化 一个currying函数首先会接受一些参数接受了这些参数之后该函数不会立即求值而是继续返回另外一个函数刚才传入的参数在函数形成的闭包中被保存了下来。待到函数真正需要求值的时候之前传入的所有参数都会一次性用于求值。 一个经典的柯里化 function curry(fn){var arr1 Array.prototype.slice.call(arguments,1);return function(){var arg2 Array.prototype.slice.call(arguments);var array arr1.concat(arr2);return fn.apply(null,array);}}不断累积的柯里化 var currying function( fn ){var args [];//外层函数变量用来累积return function(){if ( arguments.length 0 ){return fn.apply( this, args );}else{[].push.apply( args, arguments );return arguments.callee;}}}; 3uncurrying 在javascript中当我们调用对象的某个方法时其实不用关心对象原本是否被设计为拥有这个方法这是动态类型语言的特点也就是常说的鸭子类型思想。 同理一个对象也未必只能使用它自己的方法其实可以借用原本不属于他的方法 call apply Function.prototype.uncurrying function () {var self this;return function() {var obj Array.prototype.shift.call( arguments );return self.apply( obj, arguments );};};var push Array.prototype.push.uncurrying(); var obj {length: 1,0: 1 };push( obj, 2 );//将2使用push的方法作用到obj上 console.log( obj ); // 输出{0: 1, 1: 2, length: 2}
http://www.huolong8.cn/news/344325/

相关文章:

  • wap网站建设方案南京广告公司户外广告
  • 域名注册网站建设西安网站设计公司排名
  • 做网站建设优化的公司排名网站添加悬浮二维码
  • 邢台网站优化公司注册域名阿里云
  • 营销型网站建设818gxwordpress还是自己写
  • 深圳网站建设工作室软文代写多少钱一篇
  • 北海网站优化宿迁房产网信息网
  • 江苏建设网站广安建网站
  • 网站建设捌金手指花总十七中国招标采购导航网
  • 中小企业网站制作不了免费注册tk域名
  • 网站搭建免费网站建设中 动态图片
  • 网站首页框架图做任务打字赚钱的网站
  • 建设职业学校精品网站百度投诉中心人工电话
  • 网站优化的基本思想怎样做网站 知乎
  • 佛山营销型网站搭建wordpress主题大学
  • 哪家做网站性价比高网络规划设计师 最高分
  • 企业网站推广哪家好做进料加工在哪个网站上做
  • 福建鞋子做淘宝图片网站a5源码网站
  • 手机网站建设的行情网站的开发是使用什么技术
  • 网站建设企业咨询网站建设流程策划
  • 网站域名备案注册证书查询win10建设网站目录
  • 江苏高端品牌网站建设Wordpress管理媒体库
  • 免费生成网站软件下载网站设计中主题有哪些作用
  • 桂林网站自己做优惠劵网站
  • 华为云服务器怎么建设网站DW怎么做电商网站
  • 沈阳海外模板建站网站建设费属于哪个税种
  • 网站推广优化是什么意思php网站后台登陆地址
  • seo建站的步骤织梦网站定时
  • 网站开发与设计多少钱一个网站wordpress网站二次开发
  • 网站开发的基本原则重庆做网站公司哪家比较好