下载此文档

JavaScript权威指南.doc


文档分类:IT计算机 | 页数:约11页 举报非法文档有奖
1/11
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/11 下载此文档
文档列表 文档介绍
JavaScript权威指南- 函数
函数本身就是一段JavaScript代码,定义一次但可能被调用任意次。如果函数挂载在一个对象上,作为对象的一个属性,通常这种函数被称作对象的方法。用于初始化一个新创建的对象的函数被称作构造函数。
相对于其他面向对象语言,在JavaScript中的函数是特殊的,函数即是对象。JavaScript可以把函数赋值给变量,或者作为参数传递给其他函数,甚至可以给它们设置属性等。
JavaScript的函数可以嵌套在其他函数中定义,这样定义的函数就可以访问它们外层函数中的任何变量。这也就是所谓的“闭包”,它可以给JavaScript带来强劲的编程能力。

函数使用function关键字定义,有函数语句和函数表达式两种定义方式。
//:
//打印对象所有属性名称和值。
function printprops(obj) {
for (var key in obj) {
(key + ":" + obj[key]);
}
}
//计算阶乘的递归函数,函数名称将成为函数内部的一个局部变量。
function factorial(n) {
if (n <= 1) return 1;
return n * factorial(n);
}
//:
//计算n的平方的函数表达式。这里将一个函数赋给一个变量。
var square = function (x) { return x * x; }
//兔子数列。函数表达式也可以包含名称,方便递归。
var foo = function foo(n) {
if (n <= 1) return 1;
else foo(n - 1) + foo(n - 2);
}
//数组元素升序排列。函数表达式也能作为参数传递给其他函数。
var data = [5, 3, 7, 2, 1];
(function (a, b) { return a - b; });
//函数表达式有时定义后立即调用。
var tensquared = (function (x) { return x * x; }(10));
函数命名
函数名称要求简洁、描述性强,因为这样可以极大改善代码的可读性,方便别人维护代码;函数名称通常是动词或以动词开头的词组。通常来说,函数名编写有两种约定:
一种约定是函数名第一个单词首字母小写,后续单词首字母大写,就像likeThis();
当函数名包含多个单词时,另一种约定是用下划线来分割单词,就像like_this()。
项目中编写方法名时尽量选择一种保持代码风格一致。还有,对于一些私有函数(不作为公用API的一部分),这种函数通常以一条下划线作为前辍。

函数声明后需要通过调用才能被执行。JavaScript中通常有4种方式来调用函数:
作为普通函数;
作为对象方法;
作为构造函数;
通过它们的call()和apply()方法间接调用。
下面就通过一些具体示例来演示上述4中函数的调用方式。
,通过调用表达式就可直接调用,这种方式很直接也很常见。
//定义一个普通函数。
var strict = function () { return !this; }; //检测当前运行环境是否为严格模式。
//通过函数名直接调用。
(strict());
注:根据ES3和非严格的ES5对普通函数调用的规定,调用上下文(this)是全局对象;在严格模式下,调用上下文则是undefined。
,保存在对象属性里的JavaScript函数被称作“方法”。
//定义一个对象直接量。
var calc = {
a: null,
b: null,
add: function () { //将函数保存在对象属性中。
return + ;
}
};
//通过对象名调用方法。
= 1, = 2;
(());
注:对象方法中的调用上下文(this)不同于普通函数中的上下文。这里this指代当前对象。
方法链:当方法返回值是一个对象,那么这个对象还可以再调用它的方法。每次调用的结果都是另外一个表达式的组成部分,这种方法调用方式最终会形成一个序列,也被称为“方法链”。所以,在自己设计API的时候,当方法并不需要返回值时,最好直接返回this。这样以后使用API就可以进行“链式调用”风格的编程。
需要注意的是,this是一个关键字

JavaScript权威指南 来自淘豆网www.taodocs.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数11
  • 收藏数0 收藏
  • 顶次数0
  • 上传人分享精品
  • 文件大小60 KB
  • 时间2017-08-05
最近更新