JavaScript的函数

来源:互联网 发布:linux 多国 语言 查看 编辑:程序博客网 时间:2024/06/06 16:36

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

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

·function声明函数

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

·还可以用Function实例

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

二,函数的一些用法:

//将一个匿名函数赋值给变量addvar 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);//7function 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数组直接传入)。
1 0
原创粉丝点击