JavaScript精粹读书笔记(4)
http://blog.csdn.net/mouyong/archive/2009/12/07/4959741.aspx
第4章 函数
JavaScript中最好的特性就是它对函数的实现。它几乎无所不能。但是,想必你也能预料到,函数在JavaScript里也并非万能药。
函数包含一组语句,它们是JavaScript的基础模块单元,用于代码复用、信息隐藏和组合调用。函数用于指定对象的行为。一般来说,所谓编程就是将一组需求分解成一组函数与数据结构的技能。
4.1 函数对象
在JavaScript中函数就是对象。对象是“名:值”对的集合并拥有一个连到原型对象的隐藏连接。对象定义产生的对象连接到Object.prototype。函数对象连接到Function.prototype(该原型对象本身连接到Object.prototype)。每个函数在创建时附有两个附加的隐藏属性:函数的上下文和实现函数行为的代码(JavaScript创建一个函数对象时,会给该对象设置一个“调用”属性。当JavaScript调用一个函数时,可理解为执行了此函数的“调用”属性。具体参阅ECMAScript规范的13.2 Creating Function Object)。
每个函数对象在创建时也随带有一个prototype属性。它的值是一个拥有constructor属性且值即为该函数的对象。这和隐藏连接到Function.prototype完全不同。这个令人费解的构造过程的意义将会在下个章节中揭示。
因为函数是对象,所以它们可以像任何其他的值一样被使用。函数可以存放在变量,对象和数组中,函数可以被当作参数传递给其他函数,函数也可以再返回函数。而且,因为函数是对象,所以函数可以拥有方法。
4.2 函数定义
函数对象可以通过函数定义来创建:
//创建一个名为add的变量,并用来把两个数字相加的函数赋值给它。
var add=function(a,b){
return a+b;
};
函数定义包括四个部分。第一个部分是关键字function
第二部分是函数名,它可以被省略。函数可以用它的名字来递归地调用自己。此名字也能被调试器和开发工具来识别函数。如果没有给函数命名,比如上面这个例子,它会被认为是匿名函数。
函数的第三部分是包围在圆括号中的一组参数。其中每个参数用逗号分隔。这些名称将被定义为函数中的变量。它们不像普通的变量那样将被初始化为undefined,而是在该函数被调用时初始化为实际提供的参数的值。
第四部分是包围在花括号中的一组语句。这些语句是函数的主体。它们在函数被调用时执行。
相关文档:
0. 前言
所谓IE地址栏表达式,就是在IE的地址栏中输入 javascript:<代码>,执行某些功能,来动态改变原有页面的参数以达到某些目的,例如开放被禁止的按钮、显示原本隐藏的图片等等。本文将就IE地址栏的使用方法做一个详细的说明。
1. 表达式的书写方法
在IE的地址栏中输入 javascript:<代码>,即可在当前 ......
这主要用于选择器过滤重复元素时用的。
涉及三种可能的手段:sourceIndex,uniqueID与自定义的uuid。
sourceIndex 获取元素节点在页面的出现顺序,即为其在document.all集合中的索引号。由于要准确获取先后位置,如果在其前面插入一个元素节点,那么它的位置就要加一。换言之,它是动态分配的,每次都要重复计算。注意,I ......
第5章
继承
在那些基于类的语言(比如
Java
)中,继承(
inheritance
或
extends
)提供了两个有用的服务。首先,它是代码重用的一种形式。如果一个新的类与一个已存在的类大部分相
似,那么你只须具体说明其不同点即可。类继承的另一个好处是它包括了一套类型系统的规范。由于程序员无须编写显式类型转 ......
http://blog.csdn.net/mouyong/archive/2009/10/02/4626852.aspx
如果你想加原作者为好友:请点击以下链接http://hi.csdn.net/invite.php?u=8943&c=759c7fc189ea23c1
第1章 精华
JavaScript的特性中有一部分特性带来的麻烦远远超出它们的价值。其中,一些特性是因为规范很不完善,从而可能导致可移 ......
http://blog.csdn.net/mouyong/archive/2009/11/21/4847303.aspx
第3章 对象
JavaScript的简单类型包括数字、字符串、布尔值(true和false)、null值和undefined值。其他所有的值都是对象。数字、字符串和布尔值“貌似”对象,因为它们拥有方法,但它们是不可变的。JavaScript中的对象是可变的键-值 ......