主要用于ECMAScript與宿主環境(文檔對象(DOM)、瀏覽器對象(BOM))的交互中;
例子:function changeStyle(attr, value){ ? ??
? ? ? ? ? ? this.style[attr] = value;?
? ? ? ? ?} ?
? ? ? ? var box = document.getElementById('box'); ?
? ? ? ? window.changeStyle.call(box, "height", "200px");
在這里,changeStyle函數將被box對象調用,this指向了box對象,如果不用call的話,程序報錯,因為window對象中沒有style屬性。apply的用法:
window.changeStyle.apply(box, [‘height’, ‘200px’]);
現在 window對象 “box” 這個div 的高 直接變成200px了,
window.changeStyle.call(box, “height”, “200px”)
等價于 box.style.height=”200px”;