的HTML:爲什麼創建這個javascript對象文字時我不能使用'this'?
<div id="slide">
<div>This is one</div>
<div>This is two</div>
<div>This is three</div>
</div>
的JavaScript:
var slider = {
div: document.getElementById("slide"),
divs: this.div.getElementsByTagName("div")
};
alert(slider.divs.length);
的jsfiddle:http://jsfiddle.net/CAzN8/
當我運行此目的,Chrome說this.div
是不確定的。這裏有什麼問題?
[更新]我發現,如果我的代碼更改爲:
var tmp = document.getElementById("slide");
var slider = {
div: tmp,
divs: tmp.getElementsByTagName("div")
};
它的工作原理。但爲什麼第一個案件不能運作?
這是*文字對象*,而不是「JSON對象」。 JSON是一種用於表示數據的文本格式,所以這個問題根本不在於使用JSON。 – Guffa 2011-05-05 05:13:28
@Guffa JSON = JavaScript對象表示法。由於這是JavaScript,並且代碼使用JavaScript的(文字)對象表示法,所以我認爲您會發現這實際上是JSON。 – tobyodavies 2011-05-05 05:14:58
@Guffa謝謝,但這個問題仍然可以使用更好的標題。也許是「爲什麼我不能在創建這個javascript對象時使用'this'? – Paul 2011-05-05 05:18:34