摘要:每個函數(shù)都包含兩個非繼承而來的方法和。與都屬于的一個方法,所以每個實例都有屬性作用方法和方法的作用相同改變指向。在使用方法時,傳遞給函數(shù)的參數(shù)必須逐個列舉出來。例上代碼指向指向
每個函數(shù)都包含兩個非繼承而來的方法:apply()和call()。;
call與apply都屬于Function.prototype的一個方法,所以每個function實例都有call、apply屬性;
作用
call()方法和apply()方法的作用相同:改變this指向。
區(qū)別
他們的區(qū)別在于接收參數(shù)的方式不同: call():第一個參數(shù)是this值沒有變化,變化的是其余參數(shù)都直接傳遞給函數(shù)。在使用call() 方法時,傳遞給函數(shù)的參數(shù)必須逐個列舉出來。例:call(obj,a,b,c) apply():傳遞給函數(shù)的是參數(shù)數(shù)組。 例:apply(obj,[a,b,c])
上代碼:
function add(c, d){ return this.a + this.b + c + d; } var o = {a:1, b:3}; add.call(o, 5, 7); // 1 + 3 + 5 + 7 = 16 this指向o add.apply(o, [10, 20]); // 1 + 3 + 10 + 20 = 34 this指向o
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/102929.html
摘要:剩下的兩個,我們分別改變了他們的執(zhí)行環(huán)境,分別指向了和,于是結果就是顯示對象各自的值。如果你仍然對和沒有清晰的認識,可以試著這樣理解。 在Javascript中,每個函數(shù)都包含兩個非繼承而來的方法,call和apply。這兩個方法的用途都是在特定的作用域中調用函數(shù),實際上等于設置函數(shù)體內的this對象的值。摘自《JavaScript高級程序設計》 apply方法接收兩個參數(shù),第一個參數(shù)...
摘要:原文章發(fā)表在的個人博客一細節(jié)中函數(shù)存在定義時上下文,運行時上下文上下文是可變的為改變某個函數(shù)運行時的上下文而存在的,換句話說,是為了改變函數(shù)內部的指向沒有方法,但是有呀所以可以去把方法的運行時上下文也就是運行時的的指向,指向這個時候低啊用 原文章發(fā)表在 Klay-Clam的個人博客 一、細節(jié) javascript 中函數(shù)存在定義時上下文,運行時上下文 上下文是可變的 1. call...
摘要:什么是函數(shù)的作用域函數(shù)作用域在中,作用域為可訪問變量,對象,函數(shù)的集合。函數(shù)作用域作用域在函數(shù)內修改。與函數(shù)又有什么關系呢對象是在運行時基于函數(shù)的執(zhí)行環(huán)境綁定的。 什么是函數(shù)的作用域 函數(shù)作用域:在 JavaScript 中,作用域為可訪問變量,對象,函數(shù)的集合。JavaScript 函數(shù)作用域: 作用域在函數(shù)內修改。 this 與函數(shù)又有什么關系呢? this對象是在運行時基于函數(shù)的...
摘要:和概覽我們要將歸為一類,單獨歸為一類三者的共同點是都可以指定和都是綁定在的原型上的,所以的實例都可以調用這三個方法至于為什么,看完這篇文章你就懂了如果你不懂什么是實例的話,請移步深入淺出面向對象和原型概念篇深入淺出面向對象和原型概念篇第一個 1.call/apply和bind概覽 我們要將call/apply歸為一類,bind單獨歸為一類 三者的共同點是都可以指定this call/...
摘要:的作用在中,方法和方法都是為了改變函數(shù)運行時上下文而存在的,換句話說就是為了改變函數(shù)體內部的指向。歡迎前端大牛糾正錯誤,如有錯誤我會及時改正。 寫在前面: 隔了很長時間了,也不知道寫點什么。最近一直在研究ES6,一直想寫出來的文章能對初學者或者是在學習JS路上有所幫助的。這就是我的初衷。 call、apply的作用 在JavaScript中,call()方法和apply()方法都是為了...
閱讀 3095·2021-10-13 09:40
閱讀 3945·2021-09-22 15:51
閱讀 1493·2021-09-22 15:48
閱讀 1060·2021-09-06 15:00
閱讀 1790·2019-08-30 15:43
閱讀 2356·2019-08-29 18:35
閱讀 1667·2019-08-29 16:18
閱讀 3612·2019-08-29 12:49