1 / 11
文档名称:

JavaScript权威指南.doc

格式:doc   大小:60KB   页数:11页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

JavaScript权威指南.doc

上传人:分享精品 2017/8/5 文件大小:60 KB

下载得到文件列表

JavaScript权威指南.doc

文档介绍

文档介绍: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是一个关键字

最近更新

2024年山东海事职业学院单招职业适应性测试题.. 56页

2024年广州民航职业技术学院单招综合素质考试.. 55页

2024年河南省高职单招职业适应性测试模拟试题.. 57页

2024年河南省高职单招职业适应性测试模拟试题.. 57页

2024年遵义医药高等专科学校单招职业适应性测.. 74页

2024年重庆电子工程职业学院职业倾向性测试题.. 56页

一级建造师之一建公路工程实务题库1000道含答.. 301页

一级建造师之一建工程法规题库1000道精品【名.. 330页

一级建造师之一建港口与航道工程实务题库1000.. 306页

安全员继续教育考试题库1000道(考点梳理) 283页

演出经纪人考试题库1000道精品(实用) 273页

2024年北京科技大学天津学院单招职业适应性测.. 57页

2024年阜阳幼儿师范高等专科学校单招职业适应.. 74页

2024年湖南外国语职业学院单招职业技能测试题.. 55页

人教版小学五年级上册语文期中测试卷及答案 (.. 3页

医院护理课教学ppt课件 27页

综合解析北京市西城区育才学校物理八年级下册.. 22页

人教版小学一至六年级古诗整理 (4) 11页

《众彩物流e鲜美物流配送公司进口葡萄酒推广策.. 11页

2023年消防救援站党支部工作总结 4页

慢性胃炎中医症候评分表格模板2 3页

教师心得体会师德感悟篇范文2023年 9页

学校食堂6s管理内容和标准四篇 51页

夹江陶瓷产业发展历程和基本概况 5页

超声科质量控制评分表(共1页) 1页

高速铁路桥梁缺陷整治方案 56页

尊师开示 7页

十五种解经讲道法(1) 55页

张宏宝尊师谈养生修炼的利与弊 10页