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

东莞设计网站公司地方门户网站赚钱

东莞设计网站公司,地方门户网站赚钱,自己做网站上传视频,长沙商业网站建设1、闭包的概念闭包是一种特殊的程序结构#xff0c;即 函数A中定义了另一个函数a#xff0c;内部函数a引用了外部函数A的参数和局部变量#xff0c;最终A会返回一个保存了相关参数和变量的函数a。简洁地说#xff0c;外层函数将保存了信息的可执行内层函数作为结果返回。来…1、闭包的概念闭包是一种特殊的程序结构即 函数A中定义了另一个函数a内部函数a引用了外部函数A的参数和局部变量最终A会返回一个保存了相关参数和变量的函数a。简洁地说外层函数将保存了信息的可执行内层函数作为结果返回。来看个例子//求和功能 function lazy_sum(arr) {var sum function () {return arr.reduce(function (x, y) {return x y;});}return sum; } //当调用该函数时不会直接返回结果而是返回函数 --e.g.-- // var f lazy_sum([1, 2, 3, 4, 5]); -- 得到 function sum() //调用函数时才得到真正的结果 --e.g.-- // f(); -- 得到 15 //另即使传入相同参数的两个函数A返回的函数a也是不同的121//求和功能  2function lazy_sum(arr) {3    var sum function () {4        return arr.reduce(function (x, y) {5            return x y;6       });7   }8    return sum;9}10//当调用该函数时不会直接返回结果而是返回函数 --e.g.-- // var f lazy_sum([1, 2, 3, 4, 5]); -- 得到 function sum()11//调用函数时才得到真正的结果 --e.g.-- // f(); -- 得到 1512//另即使传入相同参数的两个函数A返回的函数a也是不同的2、闭包的小坑闭包的返回函数是没有立刻执行的直到调用该函数才会执行这意味着如果是引用了循环变量会变成如下情况function count() {var arr [];for (var i1; i3; i) {arr.push(function () {return i * i;});}return arr; }var results count(); var f1 results[0]; var f2 results[1]; var f3 results[2];//然而f1(),f2(),f2()的结果并不是149而全部是16161function count() {2    var arr [];3    for (var i1; i3; i) {4        arr.push(function () {5            return i * i;6       });7   }8    return arr;9}1011var results count();12var f1 results[0];13var f2 results[1];14var f3 results[2];1516//然而f1(),f2(),f2()的结果并不是149而全部是16原因就在于返回的函数引用了变量i但它并非立刻执行。等到3个函数都返回时它们所引用的变量i已经变成了4因此最终结果为16。如果一定要引用循环变量需要再创建一个函数用该函数的参数绑定当前循环变量的值function count() {var arr [];for (var i1; i3; i) {arr.push((function (n) {return function () {return n * n;}})(i));}return arr; }var results count(); var f1 results[0]; var f2 results[1]; var f3 results[2];f1(); // 1 f2(); // 4 f3(); // 9201function count() {2    var arr [];3    for (var i1; i3; i) {4        arr.push((function (n) {5            return function () {6                return n * n;7           }8       })(i));9   }10    return arr;11}1213var results count();14var f1 results[0];15var f2 results[1];16var f3 results[2];1718f1(); // 119f2(); // 420f3(); // 9这里用到了一个语法 “创建一个匿名函数并立即执行”(function (x) {return x * x; })(3); // 9 //由于JavaScript语法解析的问题会报SyntaxError错误因此需要用括号把整个函数定义括起来41(function (x) {2    return x * x;3})(3); // 94//由于JavaScript语法解析的问题会报SyntaxError错误因此需要用括号把整个函数定义括起来3、闭包的意义上面我们讲到闭包相当于把传参后的函数进行了保存但是并不会立刻执行你要调用返回的这个函数才会执行所以说闭包的意义只是在于延迟执行函数吗当然不完全是这样还有其他很多功能。在例如Java中我们要封装一个私有变量只需要加上private关键字就可以了可是在JS中我们也想要封装一个私有变量怎么办利用闭包。//e.g.创建一个计数器 function create_counter(initial) {var x initial || 0;return {inc: function () {x 1;return x;}} }101//e.g.创建一个计数器2function create_counter(initial) {3    var x initial || 0;4    return {5        inc: function () {6            x 1;7            return x;8       }9   }10}闭包中携带了局部变量x但是当你使用该函数时你实际上是无法访问到变量x的即实际上这个函数的状态完全被隐藏了var c1 create_counter(); c1.inc(); // 1 c1.inc(); // 2 c1.inc(); // 3var c2 create_counter(10); c2.inc(); // 11 c2.inc(); // 12 c2.inc(); // 1391var c1 create_counter();2c1.inc(); // 13c1.inc(); // 24c1.inc(); // 356var c2 create_counter(10);7c2.inc(); // 118c2.inc(); // 129c2.inc(); // 13闭包还可以创建新函数例如把多参数的函数变成单参数的函数。例如要计算x的y次方可以用Math.pow(x, y)函数不过考虑到经常计算x平方或x立方我们可以利用闭包创建新的函数pow2和pow3function make_pow(n) {return function (x) {return Math.pow(x, n);} }// 创建两个新函数: var pow2 make_pow(2); var pow3 make_pow(3);pow2(5); // 25 pow3(7); // 343x1function make_pow(n) {2    return function (x) {3        return Math.pow(x, n);4   }5}67// 创建两个新函数:8var pow2 make_pow(2);9var pow3 make_pow(3);1011pow2(5); // 2512pow3(7); // 343转载于:https://www.cnblogs.com/deng-cc/p/6622610.html
http://www.zqtcl.cn/news/873129/

相关文章:

  • 页面简洁的网站深圳广告宣传片拍摄
  • 做外卖网站青岛助创网络科技有限公司
  • 怎么选择优秀的网站建设公司建设银行宁波分行 招聘网站
  • 工艺品网站模板下载-古色古香建站软件排名
  • 微视频网站源码网站建设目标个人博客dw
  • 山西省建设厅入晋备案网站洛阳网站在哪备案
  • 可以做物理试验的网站有哪些仿微博网站模板
  • 网站横幅怎做网站到期不想续费
  • 黑龙江网站备案管理局济南网站建设策划
  • 网站怎么静态化网页设计与制作图片显示不出来
  • 市场营销推广策划方案网站如何做标题优化
  • 怎么让客户做网站手机网站如何优化
  • 柳州市住房和城乡建设局网站首页赣州章贡区人口
  • 有偷菜餐厅城市建设的网站好的手机网站
  • 做进行网站推广赚钱互联网企业信息服务平台
  • 微信公众号做视频网站吗百度账号登录入口网页版
  • 北京建设银行纪念钞预定官方网站撤销网站备案申请书
  • 网站平台策划书安丘市建设局网站
  • 图片类网站建设seol英文啥意思
  • 网站编辑工作好做吗WordPress的图片存在哪
  • 你的网站尚未进行备案为什么网站百度搜不到了
  • 沙洋网站开发网站建设方案免费
  • iis建设网站教程单页面推广网站
  • 东莞网站建设效果郑州企业自助建站系统
  • php做的购物网站系统下载宜州做网站需要多少钱
  • 昆明网上商城网站建设怎么做网站教程视频
  • 网站开发都需要什么移动公司网络维护待遇
  • 计算机网络技术网站建设方向wordpress虚拟货币
  • 小江网站建设公司紧急页面通知升级中访问大通知
  • 那个公司做的网站详情页好看做动态图片的网站吗