🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
# 函数调用 javaScript 函数有 4 种调用方式。 每种方式的不同在于 this 的初始化。 一般而言,在Javascript中,this指向函数执行时的当前对象。 >注意 this 是保留关键字,你不能修改 this 的值。 函数作为方法调用 以下实例创建了一个对象 (myObject), 对象有两个属性 (firstName 和 lastName), 及一个方法 (fullName): ``` var myObject = { firstName:"John", lastName: "Doe", fullName: function () { return this.firstName + " " + this.lastName; } } myObject.fullName(); // 返回 "John Doe" ``` >实例中 this 的值为 myObject 对象。 --- ### 使用构造函数调用函数 ``` 如果函数调用前使用了 new 关键字, 则是调用了构造函数。 这看起来就像创建了新的函数,但实际上 JavaScript 函数是重新创建的对象 ``` ``` // 构造函数: function myFunction(arg1, arg2) { this.firstName = arg1; this.lastName = arg2; } // This creates a new object var x = new myFunction("John","Doe"); x.firstName; // 返回 "John" ``` >构造函数的调用会创建一个新的对象。新对象会继承构造函数的属性和方法。 >构造函数中 this 关键字没有任何的值。 >this 的值在函数调用实例化对象(new object)时创建。 ### --- ### 作为函数方法调用函数 ``` 在 JavaScript 中, 函数是对象。JavaScript 函数有它的属性和方法。 call() 和 apply() 是预定义的函数方法。 两个方法可用于调用函数,两个方法的第一个参数必须是对象本身。 ``` ``` function myFunction(a, b) { return a * b; } myObject = myFunction.call(myObject, 10, 2); // 返回 20 ``` ---