JavaScript高级程序设计--函数小记】的更多相关文章

执行环境和作用域链   每个函数都有自己的执行环境.当执行流进入一个函数时,函数 的环境就会被推入一个环境栈中.而在函数执行之后,栈将其环境弹出,把控制权返回给之前的执行环境.   当代码在一个环境中执行时,会创建变量对象的一个作用域链.作用域链的用途,是保证对执行环境有权访问的所有变量和函数的有序访问.作用域链的前端,始终都是 当前执行的代码所在环境的变量对象.如果这个环境是函数,则将其活动对象作为变量对象.活动对象在最开始时只包含一个变量,即arguments对象(这个对象在全局环境中是不存…
在Javascript中,函数是Functioin类型的实例,所以函数也具备属性和方法,因为函数是对象,所以函数名自然就是指向对象的指针啦. 函数可以通过声明语法和表达式来定义: 声明:function sum(num1, num2){ return num1 + num2; } 函数表达式: var sum = function (num1, num2){ return num1 + num2; }; 注意:表达式是语句所以记得结束的冒号”:“. 区别: 解析器对于函数声明和表达式处理是不一样…
函数Function 通过函数封装多条语句,在任何地方执行.javascript函数不会重载,相同名字函数,名字属于后定义的函数通过function关键词声明. function functionName(arguments){ statement; } 函数会在执行return语句后停止并退出.return语句之后的任何代码不会被执行. function say(){ return “hay”; alert("hay"); //永远不执行 } return后不带返回值的会返回unde…
函数表达式 函数定义的两种方式: 函数声明(函数声明提升,非标准name属性可访问给函数指定的名字) 函数声明提升:执行代码前先读取函数声明 function functionName(arg0, arg1, arg2){ //函数体 } 函数表达式(name属性为空字符串,匿名函数) var functionName = function(arg0, arg1, arg2){ //函数体 }; //注意这个分号 与if···else···语句结合使用只能用函数表达式(理解函数声明提升的关键--…
函数内部属性 函数内部有两个特殊的属性arguments和this.其中,arguments是类数组对象,包含传入函数中的所有值,这个arguments还有一个属性:callee,这个属性是一个指针,指向拥有arguments的函数.而this据以引用的是函数执行环境对象. function fib(n){ if(n = 1){ return 1; }else{ return n * arguments.callee(n - 1); } } //这里利用函数内arguments的callees属…
ECMAScript函数不介意传递的参数个数,因为在其内部是用一个数组进行表示的.在函数体内可以通过arguments对象来访问这个参数数组,就像我们正常访问数组一样处理. arguments对象只是与数组类似,并不是array的实例.我们可以通过方括号语法访问arguments的每一个元素(arguments[0],arguments[1]....),可以用length属性确定传递进来的参数个数. function sayHi() {alert("Hello " + argument…
定义函数的方式有两种:一种是函数声明,另一种就是函数表达式. 函数声明的一个重要特征就是函数声明提升(function declaration hoisting),意思是在执行代码前会先读取函数声明. 这个例子不会报错,因为代码在执行前会先读取函数声明.理解函数提升的关键就是区别函数声明和函数表达式之间的区别. 函数表达式的方式有几种表达形式,其中很常见的一种形式就是匿名函数的形式: 这种情况下创建的函数叫做匿名函数,因为function关键字后面没有标识符.匿名函数的name属性是空字符串.…
前言: 为什么会想到把<JavaScript 高级程序设计(第 3 版)>总结记录呢,之前写过一篇博客,研究的轮播效果,后来又去看了<JavaScript 高级程序设计(第3版)>,突然想着边看边记录,就像边看边写读后感.这本书从介绍表达式和申明变量开始,平滑的过渡到了闭包.面向对象开发等高级主题.与那些把大量篇幅花在讲解背景知识上的书,以及那些让人感觉好像要使用JavaScript 开发导弹制导系统的书,这本书让人感觉细致周到.亲切自然,这是一本写给“普通人”的书.它能够让你编写…
DOM(文档对象模型)是针对HTML和XML文档的一个API(应用程序编程接口).DOM描绘了一个层次节点树,允许开发人员添加.移除和修改. 1.节点层次 <html> <head> <title>Simple Page</title> </head> <body> <p>Hello World!</p> </body> </html> 如上的HTML文档,可以表示为一个层次结构. 文档…
javascript高级编程读书笔记系列,也是本砖头书.感觉js是一种很好上手的语言,不过本书细细读来发现了很多之前不了解的细节,受益良多.<br/>本笔记是为了方便日后查阅,仅作学习交流,喜欢本书的童靴建议购买正版. 1.读javascript高级程序设计01-基本概念.数据类型.函数 2.读javascript高级程序设计02-变量作用域 3.读javascript高级程序设计03-函数表达式.闭包.私有变量 4.读javascript高级程序设计04-canvas 5.读javascri…