神马是函数? 所谓函数,本质上是一种代码的分组形式.我们可以通过这种形式赋予某组代码一个名字,以便与之后的调用.下面,我们来示范以下函数的声明: function sum(a, b){ var c = a + b; return c; } 一般来说,函数声明通常由一下以下几部分组成: 1. 关键词 function: 2. 函数名称,即这里的sum; 3. 函数所需的参数,即这里的a, b.一个函数通常具有0个或多个参数.参数之间用逗号分隔. 4. 函数所要执行的代码块,我们称之为函数体. 5.…
函数:递归是神马 让编程改变世界 Change the world by program 我们这节课的主题叫递归是神马,将通过小甲鱼带感的讲解,来告诉大家神马是递归!如果说优秀的程序员是伯乐,那么把递归比喻成神马是再形象不过的了! 递归到底是什么东西呢?有那么厉害吗?为什么大家常说"普通程序员用迭代,天才程序员用递归",没错,通过这节课的学习,你将了解递归,通过独立完成课后布置的练习,你将彻底摆脱递归给你生活所带来的困扰! 递归这个概念,是算法的范畴,本来不属于Python语言的语法内…
回调函数 既然函数与任何被赋值给变量的数据是相同的,那么她当然可以像其他数据那样被定义.删除.拷贝,以及当成参数传递给其它函数. 我们定义一个函数,这个函数有两个函数类型的参数,然后他会分别执行这两个参数所执行的函数. function her(){ return a() + b(); } function one(){ ; } fucntion two(){ ; } her(one, two) 实际上,我们也可以直接用匿名函数(即函数表达式)来替代one(),two(),以作为目标函数的参数:…
我们可以通过构造器函数(简称构造函数)来创建对象: function Her(){ this.child = 'Jon'; } 为了使用该函数来创建对象,我们需要使用new操作符,例如: var she = new Hew(); she.child; // Jon 使用构造函数创建对象的好处就是她可以接受一些参数,下面我们就来修改一下上面的例子: function Her(name){ this.name = name; this.child = 'Jon; this.whoAreYou = f…
即时函数: 目前我们已经讨论了匿名函数在回调时的应用.接下来,我们来看看匿名函数的另一种应用实例 --- javascript即时函数: 比如: ( function(){ alert('her'); } )() 虽然这种语法看上去有点吓人,但其实非常的简单 --- 我们只需将匿名函数的定义放进一对括号中,然后外面再紧跟一对括号即可. 其中第二对括号起到了 ‘立即调用’ 的作用,同时她也是我们向匿名函数传递参数的地方. ( function(a){ alert( 'her is' + a + '…
首先,我们需要声明一个全局函数的占位符.尽管这种占位符不是必须的,但最好还是声明一下,然后我们重新将函数F()定义一下: var inner; var F = fucntion(){ var b = 'local variable'; var N = function(){ return b; } inner = N; } F(); 这个例子的最终结果与之前相同,但在实现方法上有些许不同.这里F()不再返回函数了,而是在函数体内创建了新的全局函数inner(); 我们在F()中定义了一个新的函数…
javascript 变量的作用域: 这是一个至关重要的问题.特别是当我们从别的语言转向javascript时,必须要明白一点,即在javascript中,变量的定义并不是以代码块作为作用域的,而是以函数作为作用域.也就是说变量是在某个函数中定义的,那么她在函数以外的地方是不可见的.而如果函数是定义在if或for这样的代买块中,那么她随处可见. 全局变量:是定义在所有函数只外的变量.相反局部变量则是定义在某个函数中.其中,函数内的代码可以像访问自己的局部变量一样访问全局变量,反之则不可以. ;…
知识点 递归是神马? 递归是属于算法的范畴. 递归就是函数调用自身的一种行为. >>> def g(): return g() >>> g() Traceback (most recent call last): File "<pyshell#6>", line 1, in <module> g() File "<pyshell#5>", line 2, in g return g() File…
相关定义与闭包: 实际上,每个函数都可以被认为是一个闭包.因为每个函数都在其所在域(即该函数的作用域)中维护了某种联系. 但在大多数的时候,该作用于在函数体内被执行完之后就被自行销毁了.---除非发生某些有趣的事情,如上述两个例子,导致该作用域被保留下来. 根据目前所说,我们可以说,如果一个函数会在其父级函数返回之后留住对父级作用域的链接的话,相关闭包就会被建立起来.但这么说太绝对哦,其实每个函数都是一个闭包,,因为每个函数之少都有访问父级(也就是全局作用域)的权限.而全局作用域是不可能被破坏的…
一.概述 (一)函数的声明 JavaScript 有三种声明函数的方法. (1)function 命令 function命令声明的代码区块,就是一个函数.function命令后面是函数名,函数名后面是一对圆括号,里面是传入函数的参数.函数体放在大括号里面. function print(s) { console.log(s); } 上面的代码命名了一个print函数,以后使用print()这种形式,就可以调用相应的代码.这叫做函数的声明(Function Declaration). (2)函数表…