Rumah  >  Artikel  >  hujung hadapan web  >  javascript如何调用函数

javascript如何调用函数

醉折花枝作酒筹
醉折花枝作酒筹asal
2021-04-16 17:53:5715156semak imbas

方法:1、用“函数名(参数,参数)”语句调用;2、作为对象的方法调用,语法“对象名.方法名()”;3、用call或apply调用,语法“函数名.call|apply(参数,参数)”;4、用new命令,语法“new 函数名(参数,参数)”。

javascript如何调用函数

本教程操作环境:windows7系统、javascript1.8.5版、Dell G3电脑。

JavaScript 提供了 4 种函数调用:一般形式的函数调用、作为对象的方法调用、使用 call 和 apply 动态调用、使用 new 间接调用。

1、一般形式的函数调用

在默认状态下,函数是不会被执行的。使用小括号()可以激活并执行函数。在小括号中可以包含零个或多个参数,参数之间通过逗号进行分隔。

在下面示例中,使用小括号调用函数,然后直接把返回值传入函数,进行第二次运算,这样可以节省两个临时变量。

function f(x,y) {  //定义函数
    return x * y;  //返回值
}
console.log(f(f(5,6), f(7,8)));  //返回1680。重复调用函数

2、作为对象的方法调用

在 JavaScript 中你可以将函数定义为对象的方法。

以下实例创建了一个对象 (myObject), 对象有两个属性 (firstName 和 lastName), 及一个方法 (fullName)

var myObject = {
    firstName:"John",
    lastName: "Doe",    
    fullName: function () {
        return this.firstName + " " + this.lastName;
        }
    }
        myObject.fullName();         // 返回 "John Doe"

3、使用 call 和 apply 动态调用

call 和 apply 是 Function 的原型方法,它们能够将特定函数当做一个方法绑定到指定对象上,并进行调用。具体用法如下:

function.call(thisobj, args...)
function.apply(thisobj, [args])

function 表示要调用的函数;参数 thisobj 表示绑定对象,即 this 指代的对象;参数 args 表示要传递给被调用函数的参数。call 方法可以接收多个参数列表,而 apply 只能接收一个数组或者伪类数组,数组元素将作为参数列表传递给被调用的函数。

下面示例使用 call 动态调用函数 f,并传入参数值 3 和 4,返回运算值。

function f(x,y) {  //定义求和函数
    return x + y;
}
console.log(f.call (null, 3, 4));  //返回7

all 和 apply 方法的主要功能如下:

  • 调用函数。

  • 修改函数体内的 this 指代对象。

  • 为对象绑定方法。

  • 跨越限制调用不同类型的方法。

4、new 命令间接调用

使用 new 命令可以实例化对象,这是它的主要功能,但是在创建对象的过程中会激活并运行函数。因此,使用 new 命令可以间接调用函数。

下面示例简单演示了如何用 new 命令,把传入的参数值显示在控制台。

function (x,y) {  //定义函数
    console.log("x =" + x + ", y =" + y);
}
new f(3,4);

【推荐学习:javascript高级教程

Atas ialah kandungan terperinci javascript如何调用函数. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn