- 1、本文档共8页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
JavaScript定义函数
JavaScript 定义函数
在 JavaScript 中,定义函数的方式如下:
function abs(x) {
if (x = 0) {
return x;
} else {
return -x;
}
}
上述 abs()函数的定义如下:
function 指出这是一个函数定义;
abs 是函数的名称;
(x)括号内列出函数的参数,多个参数以,分隔;
{ ... }之间的代码是函数体,可以包含若干语句,甚至可以没有任何语句。
请注意,函数体内部的语句在执行时,一旦执行到 return 时,函数就执行完毕,并将结果返回。因此,函数内部通过条件判
断和循环可以实现非常复杂的逻辑。
如果没有 return 语句,函数执行完毕后也会返回结果,只是结果为 undefined。
由于JavaScript 的函数也是一个对象,上述定义的 abs()函数实际上是一个函数对象,而函数名 abs 可以视为指向该函数的
变量。
因此,第二种定义函数的方式如下:
var abs = function (x) {
if (x = 0) {
1 / 8
return x;
} else {
return -x;
}
};
在这种方式下,function (x) { ... }是一个匿名函数,它没有函数名。但是,这个匿名函数赋值给了变量 abs ,所以,通过变
量 abs 就可以调用该函数。
上述两种定义完全等价 ,注意第二种方式按照完整语法需要在函数体末尾加一个; ,表示赋值语句结束。
调用函数
调用函数时,按顺序传入参数即可:
abs(10); // 返回 10
abs(-9); // 返回 9
由于JavaScript 允许传入任意个参数而不影响调用,因此传入的参数比定义的参数多也没有问题,虽然函数内部并不需要这
些参数:
abs(10, blablabla); // 返回 10
abs(-9, haha, hehe, null); // 返回 9
传入的参数比定义的少也没有问题:
abs(); // 返回 NaN
此时 abs(x)函数的参数 x 将收到 undefined ,计算结果为NaN。
要避免收到 undefined ,可以对参数进行检查:
function abs(x) {
if (typeof x !== number) {
2 / 8
throw Not a number;
}
if (x = 0) {
return x;
} else {
return -x;
}
}
arguments
JavaScript 还有一个免费赠送的关键字 arguments ,它只在函数内部起作用,并且永远指向当前函数的调用者传入的所有参
数。arguments 类似 Array 但它不是一个 Array :
function foo(x) {
alert(x); // 10
for (var i=0; iarguments.length; i++) {
alert(arguments[i]); // 10, 20, 30
}
}
foo(10, 20, 30);
利用 arguments ,你可以获得调用者传入的所有参数。也就是说,即使函数不定义任何参数,还是可以拿到参数的值:
function abs() {
if (arguments.length === 0) {
return 0;
}
var x = arguments[0];
您可能关注的文档
最近下载
- 100以内加减法竖式练习题-两位数加减法竖式练习题A4直接打印.doc VIP
- 铁道供电技术职业生涯规划书.pptx VIP
- 会计职业生涯规划书5篇.pdf VIP
- 2024最新民事起诉状.doc VIP
- 3D工程图学(华中科大)中国大学MOOC慕课 章节测验 客观题答案.docx
- 血液透析患者护理查房课件.pdf VIP
- 初级消防设施操作员.docx VIP
- 北京市宣武区2024-2025学年六年级数学第一学期期末调研试题含解析.doc VIP
- 2024-2025学年英语三年级上册人教精通版(三起)(2024)教学设计(附教材目录).docx VIP
- 二年级语文上册-第七单元【教材解读】.pptx VIP
文档评论(0)