導航:首頁 > 編程語言 > js修改this

js修改this

發布時間:2025-09-06 08:23:43

javascript 高手,請教個關於 this 與self的區別的問題

這樣修改一下

js">t1=newcountDownTimer();//你本想利用原型的方法,就需要這樣

會輸出undefined.原因是 name是私有的。


你可以這樣修改一下:

functioncountDownTimer(){
this.name='countDownTimer'
}

這樣的結果就是countDownTimer

⑵ js-改變this指向的幾種方法

javaScript 為我們專門提供了一些函數方法來幫我們更優雅的處理函數內部 this 的指向問題,常用的有 bind()、call()、apply() 三種方法

call() 方法調用一個對象。簡單理解為調用函數的方式,但是它可以改變函數的 this 指向。
fun.call(thisArg, arg1, arg2, ...)
thisArg:在 fun 函數運行時指定的 this 值
arg1,arg2:傳遞的其他參數
返回值就是函數的返回值,因為它就是調用函數
因此當我們想改變 this 指向,同時想調用這個函數的時候,可以祥大使用 call,比如繼承

fun.apply(thisArg, [argsArray])
thisArg:在fun函數運行時指定的 this 值
argsArray:傳遞的值,必須包含在數組裡面
apply 主要跟數組有關系,比如使用 Math.max() 求數組的最大值

bind() 方法不會調用函數。但是能改變函數內部this 指向
fun.bind(thisArg, arg1, arg2, ...)
thisArg:在 fun 函數運行時指定的 this 值謹穗豎
arg1,arg2:傳遞的其他參數
返回由指定的 this 值和初始化參數改造的原函數拷貝
因此當我們只是想改變 this 指向,並且不想調用這個函數的時候,可以使用 bind

相同點:
都可以改變函數內部的this指向.
區別點:
1.call 和 apply 會調用函數, 並且改變函數內部this指向.
2.call 和 apply 傳遞的參數不一樣, call 傳遞參數 aru1, aru2..形式 apply 必須數組形式[arg]
3.bind 不會調用函數, 可以改變函族野數內部this指向.
主要應用場景:
1.call 經常做繼承.
2.apply 經常跟數組有關系. 比如藉助於數學對象實現數組最大值最小值
3.bind 不調用函數,但是還想改變this指向. 比如改變定時器內部的this指向。

閱讀全文

與js修改this相關的資料

熱點內容
js頁面計時 瀏覽:135
xml文件轉document 瀏覽:67
騰訊視頻去除廣告代碼 瀏覽:874
word編輯文件夾 瀏覽:268
蘋果有沒有小米超神 瀏覽:300
編程序的流程 瀏覽:938
機關文件排序格式 瀏覽:437
乙太網數據多少錢 瀏覽:869
微信文檔文件管理裡面找不到 瀏覽:451
哪個地方可以學習編程 瀏覽:665
excel雙擊打不開文件 瀏覽:766
如何提升電話卡的網路速度 瀏覽:678
微信傳圖識字在手機哪個文件夾里 瀏覽:252
fxfactory教程 瀏覽:273
pclint頭文件 瀏覽:625
ug編程如何控制邊界接刀 瀏覽:182
買狗狗用品去哪個網站 瀏覽:657
js修改this 瀏覽:778
wordpress仿seowhy模板 瀏覽:421
java統計字元串中字元個數 瀏覽:407

友情鏈接