目录
1.函数声明
1.1.命名函数表达式
//函数声明
function theFirstName(){
}
1.2.匿名函数表达式——(常用,简化为 函数表达式)
var test = function (){
document.write("a");
}
test();
2.函数用法
除了跟C++等其他语言中相同的 实参一一对应形参以外,js可以不定参,实参和形参个数可以不对应;
注:形参传入时,不需要写 var 声明
function sum(a){
document.write(a);
}
sum(1,2,3,5,7,4);//不定参传入
function sum(a,b,c,d){
//这里形参相当于 var a,b,c,d;
document.write(a);
}
sum(1);//不定参传入
3.arguments实参列表和形参属性
3.1.arguments
在js函数中,都有一个隐式的东西:arguments
实参列表,类似于一个数组,可以存储传入的实参;
function sum(a){
console.log(arguments);//控制台显示[1,2,3]
console.log(arguments.length);//长度,显示3
//有数组和长度,便能进行遍历
for(var i = 0; i < arguments.length; i++){
console.log(arguments[i]);
}
}
sum(1,2,3,4);//不定参传入
3.2.形参属性
直接看例子:
function sum(a,b,c){
console.log(sum.length);//打印形参长度,为 3;
//注:这里实参长度为1,sum也只是一个属性不是列表,没有类似数组的功能
}
sum(5);
3.3.举例任意数求和
function sum(){
var c = 0;
for(var i = 0; i < arguments.length; i++){
c += arguments[i];
}
console.log(c);
}
sum(1,2,3,5,7,4);//不定参传入
3.4.易错点
例:
function sum(a,b){
a = 2;
b = 2;
console.log(arguments[0]);//打印出2,a已被改变
console.log(arguments[1]);
//打印出 undefined,实参列表调用创建时只有一个,不会再加,b当作形参
}
sum(5);
——来自视频笔记