函数里面[]中的东西表示可有可无
函数
自定义函数
函数声明:
function 函数名([参数列表]){
函数体;
[返回值];
}
(参数列表和返回值都是可有可无的)
函数的调用:
直接调用:函数名()
事件调用:
1、<input type="button" value="+" onclick="f()"/>
2、<p id="a"></p>
document.getElementById("a").onclick=f;
function f(){
}
3、document.getElementById("a").onclick=function(){}匿名函数
函数的参数:
形式参数(形参):定义在函数声明时,括号里的变量
实际参数(实参):定义在函数调用时,括号里的变量
形参和实参传递:
将实际参数传递给形参,给形参赋值的过程
eval();解析函数
函数返回值
return结束函数并且让函数有值,在一个函数里面可以有多个return,但是只有第一个return有作用
return; 函数值为undefined
return "sadas"; 函数值为"sadas"
return a+b; 函数值为表达式的结果
return true/false; 函数值为true/false
函数返回值的处理:
可以作为实际参数
也可以作为一个变量的值
可以直接输出
可以在另外一个函数使用
变量的作用域:
全局变量:在函数体外用var声明的变量或在函数体内没有var声明的变量,都叫全局变量
全局变量的作用域: 是当前文档
全局变量的生命周期: 浏览器关闭后才销毁
局部变量:在函数体内用var声明的变量为局部变量
局部变量的作用域: 是当前函数
局部变量的生命周期: 当前函数结束后就销毁了
函数的重载:在js语言中是没有重载的(函数就叫方法)
重载:
方法名(函数名)相同,参数列表不同或参数个数不同或参数的数据类型不同
function f(a,b){
return a+b;
}
function f(a,b,c){
return a+b+c;
}
在其他函数里面
f(10,20)
f(10,20,309)
f(10,20,213)
根据后面的参数个数 调用不同的函数
而在js里面
不管后面的参数个数是几个调用的都是后一个函数
函数
自定义函数
函数声明:
function 函数名([参数列表]){
函数体;
[返回值];
}
(参数列表和返回值都是可有可无的)
函数的调用:
直接调用:函数名()
事件调用:
1、<input type="button" value="+" onclick="f()"/>
2、<p id="a"></p>
document.getElementById("a").onclick=f;
function f(){
}
3、document.getElementById("a").onclick=function(){}匿名函数
函数的参数:
形式参数(形参):定义在函数声明时,括号里的变量
实际参数(实参):定义在函数调用时,括号里的变量
形参和实参传递:
将实际参数传递给形参,给形参赋值的过程
eval();解析函数
函数返回值
return结束函数并且让函数有值,在一个函数里面可以有多个return,但是只有第一个return有作用
return; 函数值为undefined
return "sadas"; 函数值为"sadas"
return a+b; 函数值为表达式的结果
return true/false; 函数值为true/false
函数返回值的处理:
可以作为实际参数
也可以作为一个变量的值
可以直接输出
可以在另外一个函数使用
变量的作用域:
全局变量:在函数体外用var声明的变量或在函数体内没有var声明的变量,都叫全局变量
全局变量的作用域: 是当前文档
全局变量的生命周期: 浏览器关闭后才销毁
局部变量:在函数体内用var声明的变量为局部变量
局部变量的作用域: 是当前函数
局部变量的生命周期: 当前函数结束后就销毁了
函数的重载:在js语言中是没有重载的(函数就叫方法)
重载:
方法名(函数名)相同,参数列表不同或参数个数不同或参数的数据类型不同
function f(a,b){
return a+b;
}
function f(a,b,c){
return a+b+c;
}
在其他函数里面
f(10,20)
f(10,20,309)
f(10,20,213)
根据后面的参数个数 调用不同的函数
而在js里面
不管后面的参数个数是几个调用的都是后一个函数