JavaScript函数的一些注重要点

函数

函数的基础语法是:

function functionName(arg0,arg1,...,argN) {
    statements
}

下面是个示例:


function str(name,age){
    document.write("hello my name is " + name + ". and i am " + age + " years old.");
}
str("    oliver",23); //hello my name is oliver. and i am 23 years old.

别的,任何函数在任何时候都能够经由过程return 语句后跟要返回的值来完成返回值。如:

function sum(num1,num2){
    return num1 + num2;
    alert("hello"); //返回return 以后不会继承实行alert
}

var result = sum(321,32);
document.write(result); //353

由于实行完return 语句以后住手并马上退出,所以位于return 语句以后的任何代码都不会实行。

固然,一个函数能够包括多个return 语句。如:

function conp(a,b){
    if (a > b){
        return a;
    }else if (a == b){
        return "equal";
    }else{
        return b;
    }
}
var result = conp(4,4);
document.write(result); //equal
var result = conp(321,4);
document.write(result); //321

别的,return 语句也能够不带有任何返回值。如许,就能够马上住手函数实行而且返回undefined。如:

function conp(a,b){
    if (a > b){
        return;
        document.write("bad");
    }else{
        document.write(b);
    }
}

var a = conp(33,3);
document.write(a); //返回undefined 且不会涌现"bad"

函数的参数

ECMAScript 函数的参数能够是恣意多个,也能够是任何数据类型。它在函数体内能够经由过程arguments 对象来接见,如第一个参数是arguments[0]、第二个是arguments[1]等等。定名的参数只是供应了方便,但不是必需的。如:

function greeting(){
    document.write("hello " + arguments[0] + ". you look " + arguments[1] + ".");
}

greeting("oliver","good"); //hello oliver. you look good.

别的,能够经由过程接见arguments 对象的length 属性,取得有若干参数传递给了函数。如:

function countArguments(){
    document.write("there are " + arguments.length + " arguments here.");
}

countArguments(321,321,32,32); //there are 4 arguments here.

能够应用这一点与if 语句结合做推断。如:

function count(){
    if (arguments.length == 1){
        document.write("you just have 1 arguments.");
    }else{
        document.write("you have many arguments.");
    }
}

count(321,321,321) //you have many arguments.

别的,arguments[] 能够与定名参数一同运用。

函数的重载(没有重载)

假如定义了两个名字雷同的参数,则改名字只属于后定义的函数。如:

function add(){
    document.write(arguments[0] + arguments[1]);
}
function add(){
    document.write(arguments[0] + 100);
}
add(321,2); //421 不会实行第一个函数(两个参数相加),只实行末了一个同名的函数(第一个参数加上100)
    原文作者:JS菌
    原文地址: https://segmentfault.com/a/1190000003974122
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞