A. html js函數傳的this是什麼意思
意思就是把你抄觸發事件的這個控制項傳遞過去.
<input type="button" id="tianjia" value="保 存" class="btn1" onClick="nullCheck(this)"/>
function nullCheck(obj){
obj.value;//這樣就得到控制項value了
}
B. html js函數傳的this是什麼意思
意思就是把你觸發事件的這個控制項傳遞過去.
<input type="button" id="tianjia" value="保回 存" class="btn1" onClick="nullCheck(this)"/>
function nullCheck(obj){
obj.value;//這樣就得到控制項答value了
}
C. 在javascript中,function里this的指向是怎樣的
Javascript中一個函數的this關鍵字的行為相對其它語言有些不同。在嚴格模式和非嚴格模式間也有區別。
在大多數情況下,this的值由函數如何調用來決定。this值不能在函數執行過程中賦值設置,並且每次函數調用時this值可能也不相同。ES5通過添加bind方法設置函數的this值,無論函數如何被調用。(this值永久不變)
全局上下文中:
全局執行環境中(函數外部),無論在與不在嚴格模式下this指向全局對象。
console.log(this.document===document);//true
//在web瀏覽器中,window對象即是全局對象:
console.log(this===window);//true
this.a=37;
console.logn(window.a);//37
function上下文
在函數內部,this值依賴於函數如何調用。
簡單調用:
functionf2(){
"usestrict";//使用嚴格模式
returnthis;
}
f2()===undefined;
D. javascript中的this到底指什麼
JavaScript:this是什麼?
定義:this是包含它的函數作為方法被調用時所屬的對象。
說明:這句話有點咬嘴,但一個多餘的字也沒有,定義非常准確,我們可以分3部分來理解它!
1、包含它的函數。2、作為方法被調用時。3、所屬的對象。
看例子:
function to_green(){
this.style.color="green";
}
to_green();
上面函數中的this指的是誰?
分析:包含this的函數是,to_green
該函數作為方法被調用了
該函數所屬的對象是。。?我們知道默認情況下,都是window對象。
OK,this就是指的window對象了,to_green中執行語句也就變為,window.style.color="green"
這讓window很上火,因為它並沒有style這么個屬性,所以該語句也就沒什麼作用。
我們在改一下。
window.load=function(){
var example=document.getElementById("example");
example.onclick=to_green;
}
這時this又是什麼呢?
我們知道通過賦值操作,example對象的onclick得到to_green的方法,那麼包含this的函數就是onclick嘍,
那麼this就是example引用的html對象嘍。
this的環境可以隨著函數被賦值給不同的對象而改變!
下面是完整的例子:
<script type="text/javascript">
function to_green(){
this.style.color="green";
}
function init_page(){
var example=document.getElementById("example");
example.onclick=to_green;
}
window.onload=init_page;
</script>
<a href="#" id="example">點擊變綠</a>
E. 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指向。
F. js中this代表什麼意思
第一個this.name指的是變數name(對應var name="The Window"這個),
第二個this.name指的是object這個map裡面的name,this指的是object這個map對象。
this是Javascript語言的一個關鍵字它代表函數運行時,自動生成的一個內部對象,只能在函數內部使用,下面分四種情況:
情況一:純粹的函數調用 :這是函數的最通常用法,屬於全局性調用,因此this就代表全局對象Global。
情況二:作為對象方法的調用 :函數還可以作為某個對象的方法調用,這時this就指這個上級對象。
情況三 作為構造函數調用 :所謂構造函數,就是通過這個函數生成一個新對象(object)。這時,this就指這個新對象。
情況四 apply調用 :apply()是函數對象的一個方法,它的作用是改變函數的調用對象,它的第一個參數就表示改變後的調用這個函數的對象。因此,this指的就是這第一個參數。