函数和参数

函数和参数
函数声明
函数式
function add(m, n) {
return m + n;
}
var sum = function add(m, n) {
return m + n;
};
var result = sum(1, 2);
变量式
函数也是一个对象,可以通过创建一个 Function 类的实例来声明一个函数
var 方法名 = new Function(参数1,参数2, … 参数n, 函数体);
使用变量式创建一个求和的函数
var add = new Function(‘m’, ‘n’, ‘return m + n;’)
匿名函数
声明函数时,省略函数的名字即为匿名函数。
因为省略了函数名,无法直接按名字调用执行
可以指定给一个变量或者直接通过传参执行。
把匿名函数指定给一个变量
var add = function (m, n) {
return m + n;
};
匿名函数立即执行
var result = (function (m, n) {
return m + n;
}) (1, 2);
匿名函数作为参数传递
document.addEventListener(‘click’, function (e) {
console.log(e);
});
函数的参数
函数可以通过参数来接收外部数据,声明函数时可以指定任意个参数,在函数体内可以通过参数名进行调用。
参数可选
未设置的参数默认值为 undefined
function sum(a, b, c) {
a = a || 0;
b = b || 0;
c = c || 0;
return a + b + c;
}
var result = sum(1, 2);
因为参数并不强制要求在调用时传递,所以在函数内对参数的检查和设置默认值是很有必要的
避免因调用者未按照预想设置参数,引起异常或产生错误结果
arguments
通过隐形的变量 arguments 来获取所有参数。
arguments 是一个类似于数组的对象
可以通过 arguments.length 来获取实际设置的参数数量
通过 arguments[0], arguments[1],arguments[n]来引用指定位置参数
function add() {
if (arguments.length <= 0) return;
var m = arguments[0] || 0;
var n = arguments[1] || 0;
return; m + n;
}
arguments 并不是一个数组
如果想像使用数组的方法一样对 arguments 进行操作
可通过 Array.prototype.[xxx].apply
方法来达到目的
局部变量
函数体内声明的变量为局部变量。
局部变量在函数体内部使用,函数外部无法访问
var total = 0;
function sum() {
var n = arguments[0] || 0;
total += n;
return total;
}
sum(1);
console.log(total);
console.log(n);
最后一行引用变量n
因为函数sum 中声明的变量 n 是局部变量
外部无法访问,所以这里会引发变量未定义异常
可以利用局部变量的这个特点,把代码用函数进行封装,使变量局部化,避免与其他全局变量冲突

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值