JavaScript中函数的语法:
-
声明:
function 函数名(参数1,参数2){
//函数体
//如果有返回值 直接return即可
}
-
调用:
1.直接调用:
var x=myFunction(3,4);//调用函数,返回值被赋值给x
function myFunction(a,b)
{
return a+b;
}
调用函数的时候我们使用函数名+(),如果不加()直接使用函数名字,什么结果?
答: 将返回函数的声明,而不是函数结果
<!DOCTYPE html>
<html>
<body>
<h2>JavaScript 函数</h2>
<p>不使用 () 访问函数将返回函数声明而不是函数结果:</p>
<p id="demo"></p>
<script>
function toCelsius(f) {
return (5/9) * (f-32);
}
document.getElementById("demo").innerHTML = toCelsius;
</script>
</body>
</html>
结果:
2.作为方法来调用函数:
可以把函数定义为对象方法,然后通过对象.来调用
var myObject={
firstName:"bill",
LastName:"Gates",
fullName:function(){
return this.firstName+LastName;
}
}
myObject.fullName();
3.通过函数构造器来调用函数
如果函数调用的前面有new关键字,那么就是一个构造函数调用
// 这是函数构造器:
function myFunction(arg1, arg2) {
this.firstName = arg1;
this.lastName = arg2;
}
// 创建了一个新对象:
var x = new myFunction("Bill", "Gates");
x.firstName;
-
通过函数来限定作用域:
在JS中只有函数可以限定变量的作用域:
if(false)
{
var num=10;
}
alert(nul); // undefined;
-
Function对象
语法
var func = new Function(...);
// Function参数中最后一个参数是方法体,前面的参数都是该方法的参数
// 参数类型都是字符串
var getMax = function(n1, n2) {
return n1 > n2 ? n1 : n2;
};
//
var func = new Function("n1", "n2", "return n1 > n2 ? n1 : n2;");
// 将字符串变成函数
-
函数的参数
1.函数参数(parameter)指的是函数定义中列出的名称
2.函数参数(argument)指的是传递到函数或由函数接收到的真实值
-
参数的规则:
JavaScript 函数定义不会为参数(parameter)规定数据类型。
JavaScript 函数不会对所传递的参数(argument)实行类型检查。
JavaScript 函数不会检查所接收参数(argument)的数量。
-
默认参数:
如果调用参数时省略了参数(少于被声明的数量),则丢失的值被设置为:undefined。