Ⅰ 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>
Ⅱ js中this代表什麼意思
代表當前對象啊,js不是有document.getElementByID通過ID獲取對象么,this就是獲取當前對象,比如id為btn的按鈕內的onclick方法 onclick="method(容this)",這個this就是當前按鈕對象,作用和document.getElementByID("btn")一樣。
Ⅲ 關於js的with和this ,function的一段代碼,求解釋
<!DOCTYPEHTML>
<html>
<head>
<title>yugi</title>
<metacharset=UTF-8/>
<styletype="text/css">
</style>
<scripttype="text/javascript"src="jquery-1.8.0.min.js"></script>
<scripttype="text/javascript">
(function()
{
with(this[2])
{
with(this[1])
{
with(this[0])
{
returnfunction(event)
{
//意思是調用this[2].this[1].this[0].checkChoice();
//使用with語句,代表{}內部屬於with()中的對象的屬性或者方法
//但是使用with語句,不易於修改和維護。此話源自js權威指南。
returncheckChoice()
};
}
}
}
})();
</script>
</head>
<body>
</body>
</html>
Ⅳ javascript 的 this 指向問題
js 中的this分兩種情況,普通函數中的 this 指向取決於調用的環境,lambda表達式中的this指向window。
apply 方法的的說明如下:
Function.apply(obj,args)方法能接收兩個參數
obj:這個對象將代替Function類里this對象
args:這個是數組,它將作為參數傳給Function(args-->arguments)
題主這個Programmer如果當成構造方法使用,this 應指向new的對象
Ⅳ javascript中,一個js中的函數,第一句var _this = this;為什麼要這樣做 下面是源碼:
問題一:
不知道樓主有沒有接觸過jquery jquery里邊有一個特別典型的例子能說內明用_this的作用
$("#btn").click(function(){
var _this = this;//這里容this和_this都代表了"#btn"這個對象
$(".tr").each(function(){
this;//在這里this代表的是每個遍歷到的".tr"對象
_this;//仍代表"#btn"對象
})
})
這種情況就是在一個代碼片段里this有可能代表不同的對象,而編碼者希望_this代表最初的對象
問題2:
其實並沒有全部使用_this
但是據我所看,應該沒有任何區別的,樓主的代碼里用_this可能只是為了編碼規范吧