javascript function

一、function有两种创建方式:
1).声明一个function函数

function functionName(parameters) {
}

2).声明为一个function表达式,它是一个匿名函数,函数可以存储在变量中,不需要函数名,通过变量名来调用
eg:

var x = function (a, b) {return a * b};

应用举例:

var x = function (a, b) {return a * b};
var z = x(3,4);

二、function函数声明也存在“提升”行为,即声明语句会被移动到当前范围的上面,可以先使用,再声明
eg:

myFunction(5);
function myFunction(y) {
    return y * y;
}

注:function表达式不存在“提升”行为

三、自我调用函数
自我调用函数会自动调用,不需要显示调用
将function表达式包含在括号中,这就是一个自我调用function表达式,后接一个括号表示构造便可自我调用。
应用举例:

(function (x, y) {
   document.getElementById("demo").innerHTML = x*y;
})(4,1); //这有一个括号

注意:自我调用函数中声明的变量是不能在外部使用的,是一个局部变量

function函数的参数是不指定数据类型的
function函数不执行传入值的数据类型检查
function函数也不检查收到的参数个数

arguments对象:function的内置对象,它是一个参数数组,但是是按值传递,只知道参数值,不知道参数位置,因此即便改变了arguments中的值,也不会改变外界传入参数的原值。这与按址传入不同
应用举例:

x = findMax(1, 123, 500, 115, 44, 88);
function findMax() {
    var i;
    var max = -Infinity;
    for (i = 0; i < arguments.length; i++) {
        if (arguments[i] > max) {
            max = arguments[i];
        }
    }
    return max;
}

四、function函数的调用
当一个function函数不是通过拥有者(对象)来调用,那么它是被window对象调用,使用window对象调用方法有时可能会带来一些冲突。因此使用对象来调用function函数更好些。
应用举例:

var myObject = {
    firstName:"John",
    lastName: "Doe",
    fullName: function () {
        return this.firstName + " " + this.lastName;
    }
}
myObject.fullName(); 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章