2016-01-02 61 views
1

MDN聲稱Chrome支持非標準屬性Error.prototype.lineNumber「關於處理錯誤中的錯誤對象。」。我擺弄着,但無法驗證這一點。Chrome是否支持錯誤對象上的lineNumber屬性?

try 
 
{ 
 
    throw new Error; 
 
} 
 
catch (error) 
 
{ 
 
    alert('lineNumber is ' + error.lineNumber); 
 
}

當運行上述的片段中,只有火狐設置error.lineNumber到一個數值。 Safari使用類似的非標準屬性error.line,而Chrome似乎沒有任何類似的功能。如果解析它,我知道行號在stack之內,並且有些庫可以提取它,但是不起作用會困擾我。

MDN文檔是過時的還是我在這裏丟失了某些東西?

+0

可能對它自己的錯誤對象做一個console.log以查看哪些屬性可用 – Mayhem

回答

2

我不認爲你在這裏失去了什麼。如果V8(Chrome瀏覽器的JavaScript引擎)在某個階段支持它,目前看起來並不是這樣,所以我認爲這屬於MDN的「......這種行爲在將來可能會改變」。或者,請記住MDN是由合作編輯的,但Chrome對它的支持始終是錯誤的。

正如MDN頁所述,lineNumber或類似的東西是not in the spec

鑑於我們都沒有看到V8支持它的任何跡象,所以我糾正了MDN文章。

相關問題