[英]Why does IE6 give a “Function expected” error when declaring a variable as an new instance of a function Object?
為什么在新功能之后必須緊跟括號? MSDN網站尚不清楚為什么這是一個錯誤。
// Fails but only in IE6
var greetings = new SayHello;
greetings();
// This works in IE6
var salutations = new SayHello();
function SayHello() {
alert("Hello");
};
我認為代碼沒有實現您想像的那樣。 嘗試這種方式:
var greetings = new SayHello;
alert('calling the constructor');
greetings();
function SayHello() {
alert("Hello");
};
您將首先看到“ Hello”警報,然后是“正在調用構造函數”警報,我認為這與您期望的相反。 new
操作員正在調用構造函數並生成警報。 greetings()
行實際上會引發類型錯誤,因為那時候greetings只是一個對象(SayHello的實例)。 我猜(因為我沒有副本),當缺少括號時,IE6只是沒有調用構造函數,因此它似乎以不同的方式損壞了。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.