摘要:前言上次聊了关于定义函数的知识,还有参数方面的,这次先补充一点参数小知识,还有简单的讲一下闭包。在这里,函数包含了一个内部函数,所以可以使用引入的参数。我们把函数作为返回值赋给,当然,同时返回的还有。
前言
上次聊了关于定义函数的知识,还有参数方面的,这次先补充一点参数小知识,还有简单的讲一下闭包。
arguments对象引入的参数会保存在arguments数组对象中,第一个引入的参数保存在aruguments[0]中,以此类推,参见以下代码:
var myArr = ["hangzhou", "shanghai", "beijing", "guangzhou"]; function foo(obj) { console.log(arguments[0]);//["hangzhou", "shanghai", "beijing", "guangzhou"]; console.log(arguments[0][1]);//shanghai } foo(myArr);闭包
function outside(x) { function inside(y) { return x + y; } return inside; } fun_inside = outside(5); console.log(fun_inside); result = fun_inside(3);//return 8 result1= outside(5)(3);//return 8
我们都知道,函数内部是可以读取外部定义的变量的。在这里,outside函数包含了一个内部函数inside,所以inside可以使用outside引入的参数。我们把函数inside作为返回值赋给fun_inside,当然,同时返回的还有x。此时我们再执行fun_inside并且传入一个y就能返回两者之和,最后一行只是把两个参数同时传入,其他无异,这就是一个很简单的闭包。
下面是执行这段代码后监视窗的结果。
更深入的下一期再讲,因为作者也正在学习啦~~
var myArr = ["hangzhou", "shanghai", "beijing", "guangzhou"]; console.log(myArr);//["hangzhou", "shanghai", "beijing", "guangzhou"] console.log("test:" + myArr);//test:hangzhou,shanghai,beijing,guangzhou
为什么输出内容会不同呢?作者到现在也不解,不过对程序运行是没有影响的。有大神懂的话,求指导???
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/78257.html
摘要:如果我们直接可以计算出正确的和值,岂不是一次到位函数正有此功能,当然我们需要知道子元素的宽高效果是一个作用于内联元素的属性。内联元素的特性是会和其它内联元素或者文字在同一行显示,但是默认情况下是与父元素基线对齐的。 CSS控制居中是前端开发中非常常用的布局技能,本文列出几种CSS控制元素居中的几种方法。 谈及HTML元素居中展示,涉及到水平居中和垂直居中,以及水平垂直居中。由于H...
摘要:关键字在中的变化非常的灵活,如果用的不好就非常恶心,用的好程序就非常的优雅,灵活,飘逸所以掌握的用法,是每一个前端工程师必知必会的而且这个也是一些大公司笔试中常见的考察项第一种单独的,指向的是这个对象注当前的执行环境是所以指向了第二种全局函 this关键字在javascript中的变化非常的灵活,如果用的不好就非常恶心,用的好,程序就非常的优雅,灵活,飘逸.所以掌握this的用法,是每...
阅读 951·2021-11-23 09:51
阅读 2658·2021-08-23 09:44
阅读 612·2019-08-30 15:54
阅读 1393·2019-08-30 13:53
阅读 3074·2019-08-29 16:54
阅读 2487·2019-08-29 16:26
阅读 1139·2019-08-29 13:04
阅读 2241·2019-08-26 13:50