当前位置

网站首页> 程序设计 > 开源项目 > 程序开发 > 浏览文章

JavaScript函数的一些注意要点

作者:小梦 来源: 网络 时间: 2024-06-21 阅读:

函数

函数的基本语法是:

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); //equalvar 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)

热点阅读

网友最爱