JavaScript的函数

函数:就是一个功能的封装体。可分为五类:
·常规函数
·数组函数
·日期函数
·数学函数
·字符串函数

一,js函数可用两种方法定义:

·function声明函数

 function add(x,y) {
    alert(x+y);
 }

·还可以用Function实例

var add = new Function("x", "y", "alert(x+y);");

二,函数的一些用法:

//将一个匿名函数赋值给变量add
var add = function(x, y) {
    alert(x + y);
};
add(3, 4);//7

//函数表达式作为参数传递给其他函数
var arr = [1, 5, 4, 7];
arr = arr.sort(function(x, y) {
    return x - y;
});
alert(arr);//1,4,5,7

//匿名函数直接调用
alert( function(x, y) {
    return x + y;
}(3, 4));

//函数表达式也可以定义名称
var f=function show(x){
    if(x<1) {
        return 1;
    }else{
        return x*show(x-1);
    }
};

声明式函数定义语句属于顶级作用域范围,函数调用语句可写在函数声明语句之前:

add(3, 4);//7
function add(x, y) {
    alert(x + y);
}

而函数表达式定义的函数在定义之前无法调用。

三,另外Javascript中的函数不需要声明返回类型,使用return关键字返回一个值。若函数不包含return语句,或者直接使用”return;”,则函数的返回值为undefined。

四,函数可以嵌套在其他的函数里面,内层函数可以访问外层函数的参数和变量:

function add(x, y) {

    function m(x) {
        return x+1;
    }

    return m(x) + m(y);
}

alert(add(1, 2));//5

五,函数的调用
函数体代码在函数被调用时才会执行,共分为四种调用方式:
·普通的函数调用
·方法调用
·构造函数调用
·通过 call() 和 apply() 间接调用

alert("hello");

var result = add(1, 2);//函数调用



function speak(name) {
    alert('hello,' + name);
};
var people = {};
people.say = hello;
people.say('praba');  //方法调用

var obj = new Object();
function People(name) {
    this.name=name;
    console.debug(this);
}
var people = new People('praba');//构造函数调用


var name = 'A';
var user = {
    name : 'B'
};
function showName() {
    alert(this.name);
}
showName();
showName.call(user);
//call()调用,apply() 和 call() 类似,区别在于,后面的实参需要以数组的形式传递(可将当前函数的arguments数组直接传入)。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值