Open jtwang7 opened 3 years ago
在默认状态下,函数是不会被执行的。使用小括号()可以激活并执行函数。在小括号中可以包含零个或多个参数,参数之间通过逗号进行分隔。
function f(x,y) { //定义函数 return x * y; //返回值 } f(5, 6)
当一个函数被设置为对象的属性值时,称之为方法。使用点语法可以调用一个方法。
let obj = { value : 0, increment : function (inc) { this.value += typeof inc === 'number' ? inc :1; } } obj.increment();
call 和 apply 是 Function 的原型方法,它们能够将特定函数当做一个方法绑定到指定对象上,并进行调用。
function.call(thisobj, args...) function.apply(thisobj, [args])
function 表示要调用的函数;参数 thisobj 表示绑定对象,即 this 指代的对象;参数 args 表示要传递给被调用函数的参数。call 方法可以接收多个参数列表,而 apply 只能接收一个数组或者伪类数组,数组元素将作为参数列表传递给被调用的函数。
使用 new 命令可以实例化对象,这是它的主要功能,但是在创建对象的过程中会激活并运行函数。因此,使用 new 命令可以间接调用函数。
function (x,y) { //定义函数 console.log("x =" + x + ", y =" + y); } new f(3,4);
使用 new 命令调用函数时,返回的是对象,而不是 return 的返回值。如果不需要返回值,或者 return 的返回值是对象,则可以选用 new 间接调用函数。
一、一般形式
在默认状态下,函数是不会被执行的。使用小括号()可以激活并执行函数。在小括号中可以包含零个或多个参数,参数之间通过逗号进行分隔。
二、作为对象的方法调用
当一个函数被设置为对象的属性值时,称之为方法。使用点语法可以调用一个方法。
三、使用 call 和 apply 动态调用
call 和 apply 是 Function 的原型方法,它们能够将特定函数当做一个方法绑定到指定对象上,并进行调用。
function 表示要调用的函数;参数 thisobj 表示绑定对象,即 this 指代的对象;参数 args 表示要传递给被调用函数的参数。call 方法可以接收多个参数列表,而 apply 只能接收一个数组或者伪类数组,数组元素将作为参数列表传递给被调用的函数。
四、new 命令间接调用
使用 new 命令可以实例化对象,这是它的主要功能,但是在创建对象的过程中会激活并运行函数。因此,使用 new 命令可以间接调用函数。