函数的返回值
举例:
function sum(a,b){
return a + b;
return的作用是结束方法。
注意:
- return后的值将会作为函数的执行结果返回,可以定义一个变量,来接收该结果;
- 在函数中return后的语句都不会执行(函数在执行完return语句之后停止并立即退出);
- 如果return语句不跟任何值,就相当于返回一个undefined;
- 返回值可以是任意的数据类型,可以是对象,可以是函数。
函数名、函数体和函数加载问题
我们要记住:函数名 == 整个函数,举例:
console.log(fn) == console.log(function fn(){
alert(1)
}
);
//定义fn方法
function fn(){
alert(1)
};
在调用一个函数时,通常使用函数名()这种格式;但此时,我们是直接使用函数这种格式,他的作用相当于整个函数。
函数的加载问题:JS加载的时候,只加载函数名,不加载函数体,所以如果想使用内部的成员变量,需要调用函数。
fn() 和 fn的区别
- fn():调用函数,相当于获取了函数的返回值。
- fn :函数对象,相当于直接获取了函数对象。
立即执行函数
现有匿名函数如下:
function(a,b){
document.write("a=" + a);
document.write("b = " + b);
};
立即执行函数如下:
(function(a,b){
document.write("a=" + a);
document.write("b = " + b);
})(123,456);
执行结果如下:
立即执行函数:函数定义完,立即被调用,这种函数叫做立即执行函数。
立即执行函数往往只会执行一次,因为没有变量保存,执行完了之后,就找不到了。
方法
函数也可以称之为对象的属性,如果一个函数作为一个对象的属性保存,那么我们称这个函数是这个对象的方法。
调用这个函数就说调用对象的方法(method),相比于方法,他只是名称上的区别,并没有其他区别。
函数举例:
//调用函数
fn()
方法举例:
//调用方法
obj.fn();
如果直接是fn(),那就说明是函数调用,如果发现是xx.fn(),那就说明是方法调用。