<html>
<head>
<script type='text/javascript'>
var process = function (test) {
var i = test;
this.echo = function() { console.log(i); };
};
var test = 'hai';
var hai = new process(test);
hai.echo();
test = 'sorry';
hai.echo();
</script>
</head>
<body style='height:1000px;width:100%'>
</body>
在執行上述測試腳本時,我得到了'對不起'兩次,我希望'海'然後'海'。Javascript變量聲明和範圍
當我改變行5爲[作了隨機試]
var i = (function() {return test;})();
我明白了「海」 &「海」
它是如何的情況下工作2 &爲什麼沒有它在情況1?
AFAI,JavaScript並可變起重因爲測試將在範圍的開始被初始化爲未定義和將被重新分配爲,當它被分配的值。但是,這並沒有幫助我。
您的代碼顯示'「hai」'兩次對我來說是不可能的。 – pimvdb 2012-03-08 10:11:38
抱歉沒有注意到我的錯誤投票刪除了我自己的問題 – Tamil 2012-03-08 10:19:12