都是在特定的作用域中呼叫函式,等於設定函式體內this物件的值,以擴充函式賴以執行的作用域。
call()方法使用示例:
//例1//例2
var pet =
}pet.speak('speak'); // 結果:speak...
var dog =
//將this的指向改變成了dog
pet.speak.call(dog, 'speak'); //結果: speakwang
//例1//例2
function
pet(words)
}function
dog(words)
var dog = new dog('wang');
dog.speak();
語法:說明:如果argarray不是乙個有效陣列或不是arguments物件,那麼將導致乙個
typeerror,如果沒有提供argarray和thisobj任何乙個引數,那麼global物件將用作thisobj。
語法:call([thisobject[,arg1 [,arg2 [,...,argn]]]]);
,應用某一物件的乙個方法,用另乙個物件替換當前物件。
說明:call方法可以用來代替另乙個物件呼叫乙個方法,call方法可以將乙個函式的物件上下文從初始的上下文改變為thisobj指定的新物件,如果沒有提供thisobj引數,那麼global物件被用於thisobj。
使用示例1:
function
add(c,d)
var s = ;
console.log(add.call(s,3,4)); // 1+2+3+4 = 10
使用示例2:
window.firstname = "cynthia";
window.lastname = "_xie";
var myobject = ;
function
getname
() function
getmessage
(***,age)
getname.call(window); // cynthia_xie
getname.call(myobject); // myobject
getmessage.call(window,"女",21); //cynthia_xie 性別: 女 age: 21
getmessage.call(myobject,"未知",22); //myobject 性別: 未知 age: 22
script>
js中call與apply用法
兩者的格式和引數定義 call thisarg arg1,arg2,引數列表,arg1,arg2,上面兩個函式內部的this指標,都會被賦值為thisarg,這可實現將函式作為另外乙個物件的方法執行的目的 一 call 的簡單用法 首先,我們先看個簡單的例子 call 然後,執行結果如下 globa...
js中call與apply用法
兩者的格式和引數定義 call thisarg arg1,arg2,引數列表,arg1,arg2,上面兩個函式內部的this指標,都會被賦值為thisarg,這可實現將函式作為另外乙個物件的方法執行的目的 一 call 的簡單用法 首先,我們先看個簡單的例子 call 然後,執行結果如下 globa...
js中call與apply用法
1 2兩者的格式和引數定義 3 call thisarg arg1,arg2,引數列表,arg1,arg2,引數陣列,argarray 5上面兩個函式內部的this指標,都會被賦值為thisarg,這可實現將函式作為另外乙個物件的方法執行的目的67 一 call 的簡單用法 8首先,我們先看個簡單的...