资讯专栏INFORMATION COLUMN

JavaScript函数的一些注意要点

caiyongji / 3032人阅读

摘要:函数函数的基本语法是下面是个示例另外,任何函数在任何时候都可以通过语句后跟要返回的值来实现返回值。如另外,可以与命名参数一起使用。如不会执行第一个函数两个参数相加,只执行最后一个同名的函数第一个参数加上

函数

函数的基本语法是:

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)

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/86148.html

相关文章

  • JavaScript 高级技巧——“高级定时器”注意要点

    摘要:为了规避这个问题,可以使用定时器对事件处理程序进行节流。当第二次调用该函数时,它会清除前一次的定时器,并设置另一个。如果前一个定时器已经执行过了,这个操作就没有任何意义。然而如果前一个定时器尚未执行,其实就是将其替换为一个新的定时器。 高级定时器 为了解决setInterval的一些执行问题, 下面是采用链式setTimeout的方式来规避: setTimeout(function()...

    rubyshen 评论0 收藏0
  • Javascript变量注意要点

    摘要:如很明显可以看到,实际上是函数的局部变量。简单的说就是,复制给参数,在函数内部是局部变量,无论怎么变化,都不影响的变化。 ECMAScript 变量可能包含两种不同数据类型的值:基本类型值和引用类型值。 基本类型和引用类型的值 基本类型值(String,Number,Boolean,Null,Undefined)指的是简单的数据段;引用类型值(保存在内存中的对象)指的是那些可能由多个值...

    booster 评论0 收藏0
  • JavaScript函数表达式——“函数模仿块级作用域及函数私有变量”注意要点

    摘要:模仿块级作用域在块级语句中定义的变量,实际上是包含函数中而非语句中创建的。避免对全局作用域产生不良影响这种方式可以通过创建私有作用域,避免对全局作用域产生不良影响。一般包括函数的参数局部变量和内部定义的其他函数。 模仿块级作用域 在块级语句中定义的变量,实际上是包含函数中而非语句中创建的。如: function outputNumbers(x){ for (var i = 0;...

    archieyang 评论0 收藏0
  • JavaScript数据类型一些注意要点

    摘要:如类型除了可以以十进制表示之外,整数还可以通过八进制或者十六进制的字面值来表示,其中八进制字面值的第一位必须是,然后是八进制数字序列。 Javascript 数据类型 ECMAscript 中有5种简单的数据类型,也被称为基本数据类型:Undefined、Null、Boolean、Number和String。还有一种复杂的数据类型——Object。 Undefined 类型 在使用va...

    Tonny 评论0 收藏0
  • JavaScript 高级技巧——“高级函数注意要点

    摘要:语法如下注意这里使用的并不是的,是内部函数的。函数柯里化的基本方法是使用一个闭包返回一个函数。当函数被调用时,返回的函数还需要设置一些传入的参数。 安全的类型检测 typeof操作符 检测数据类型的结果可能会不正确; instanceof操作符 操作符在多个全局作用域下存在问题: var value = []; var isArray = value instanceof Array;...

    solocoder 评论0 收藏0

发表评论

0条评论

caiyongji

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<