-1
這裏是一個代碼示例:爲什麼不實例變量取新值
var testObject =
{
val1: 1,
testing: function()
{
val1 = 2;
alert(val1);
}
};
如何來當警報打印VAL1,它說不確定?
這裏是一個代碼示例:爲什麼不實例變量取新值
var testObject =
{
val1: 1,
testing: function()
{
val1 = 2;
alert(val1);
}
};
如何來當警報打印VAL1,它說不確定?
不,它不http://jsfiddle.net/qmLMV/
注意val1: 1
是一個屬性,函數體內的val1 = 2;
是一個變量。與所有變量一樣,它將經歷標識符解析。在這種情況下,您正在創建一個應該避免的隱式全局變量。事先聲明你的變量。
function() {
var val1 = 2;
}
還應注意這個:
var testObject = {
val1: 1,
testing: function() {
var val1 = 2;
alert(val1); // alerts 2
alert(this.val1); // alerts 1
}
};
使用this
從該對象的方法內訪問該對象的屬性。
`val1`應該提醒`2`。嘗試在http://jsfiddle.net/上創建一個重現問題的示例。 – 2011-01-11 03:01:15
nvm,它的工作原理,謝謝。 – dave 2011-01-11 03:04:50