關於call 和apply 的大致用法

2021-09-19 08:57:24 字數 584 閱讀 5552

call()在我看來主要的功能就是在不修改物件的情況下對物件的屬性進行 重寫,使之繼承乙個新物件的屬性

symtax: fun.call(thisarg[, arg1[, arg2[, ...]]])
先舉個簡單的例子:

function vehicle(color, speed) 

var mycar = new car("red", 100, 2000);

alert("汽車顏色是" + mycar.color + ", 速度是 " +

mycar.speed + ", **是" + mycar.price);

//汽車顏色是red,速度是100,**是2000

通過例子可以看出可以call方法增加物件的屬性資訊,

也可以通過使用call方法覆蓋原物件的屬性

在舉個簡單的和作用域結合的例子

var x = 1;

function method()

var c = {};

c.x = 0;

c.m = method;

關於call和apply函式

call函式的描述 寫乙個方法,然後讓另外乙個新的物件來繼承它 而不是在新物件中再寫一次這個方法 this.x 9 var module module.getx 返回 81 var retrievex module.getx retrievex 返回 9,在這種情況下,this 指向全域性作用域 f...

apply和call的用法

應用某一物件的乙個方法,用另乙個物件替換當前物件。引數 thisobj 可選項。將被用作當前物件的物件。argarray 可選項。將被傳遞給該函式的引數陣列。說明 如果 argarray 不是乙個有效的陣列或者不是arguments物件,那麼將導致乙個 typeerror。如果沒有提供 argarr...

call 和apply 的區別

call方法 語法 call thisobj,object 定義 呼叫乙個物件的乙個方法,以另乙個物件替換當前物件 說明 call方法可以用來代替另乙個物件呼叫乙個方法。call方法可將乙個函式的物件上下文從初始的上下文改變為由thisobjext指定的新物件。如果沒有提供thisobj引數,那麼g...