初学程序员,10行代码,快速读懂计算机编程中

初学程序员,10行代码,快速读懂计算机编程中

时间:2020-01-10 13:12 作者:admin 点击:
阅读模式 初学程序员,10行代码,快速读懂计算机编程中的难点:闭包

天雪道

发布时间:18-06-21 19:33

初学程序员,10行代码,快速读懂计算机编程中的难点:闭包。

如图A 闭包

一、别把简单复杂化 学习javasctipt编程语言中,闭包是一个很重要的知识点,也是一个容易让程序初学者困惑的概念。教程众多,示例五花八门,刚入门的程序员,却越看越困惑,实际应用时,总是无从下手。其实,编程中的闭包,并不是很难理解,只是,很多所谓的领域高手,把简单的问题复杂化了,以显示自己技术的精湛罢了。

如图B 简单

二、函数到闭包 1、表现形式:闭包,其实就是一个普通的函数,只是它创建在另一个函数体内。2、行为方式:闭包,可以访问包含它的外部函数变量。闭包与匿名函数,其实并没有什么关系。只不过,匿名函数可以放在某个函数体内,作为闭包使用。所以,闭包并不一定是匿名函数,匿名函数也不一定非得是以闭包的形式存在。

如图 C 声明函数作为闭包

三、声明函数作为闭包 如图C,创建了两个函数,分别是外部函数add_number()和内部函数cal_number()。内部函数cal_number()就作为闭包存在。它可以访问外部函数的变量b,但是闭包内部对于外部函数却是不可见的,外部函数不能访问闭包的变量。console.log(d)中,d是未定义的。闭包,首先是个函数,所以,在定义函数,变量,传参及执行,都与一般函数没有区别。

如图D 匿名函数作为闭包

四、匿名函数作为闭包 如图C,创建一个匿名函数,并且是定义在函数add_number内部,形成闭包。此时的匿名函数与图C中的内部函数执行相同的功能。匿名函数代码:(function(d){ var d; var f=b*d+c;console.log(f);})(2); 后面的(2)就是执行匿名函数并传入参数2。

五、网友讨论: 读懂编程概念最简单的方式就是敲写代码,所以,程序员才会被戏称码农。不要对编程中晦涩的概念耿耿于怀,而是在敲代码中慢慢领悟。 喜欢点个赞、赞。请用一句通俗的话解释一个编程概念。