读阮一峰对《javascript语言精粹》的笔记,我有疑问。
《javascript語言精粹》是一本很棒的書籍,其中作者在附錄列出了12種他所認(rèn)為的javascript語言中的糟粕。
我最近開始跟讀前端前輩的博客,其中讀到了阮一峰的《12種不宜使用的Javascript語法》,有一個疑問:
文如下:
9. function語句
在Javascript中定義一個函數(shù),有兩種寫法:
function foo() { }
和
var foo = function () { }
兩種寫法完全等價。但是在解析的時候,前一種寫法會被解析器自動提升到代碼的頭部,因此違背了函數(shù)應(yīng)該先定義后使用的要求,所以建議定義函數(shù)時,全部采用后一種寫法。
?
那么問題來了,如果是構(gòu)造函數(shù)的話,以后一種方式定義,其實(shí)例的constructor屬性在FireBug中調(diào)試時會顯示“function()”,這樣會阻礙調(diào)試工作。
我想前者用于聲明構(gòu)造函數(shù),后者用于普通函數(shù),這樣既有良好的閱讀性,普通函數(shù)在其聲明語句前被調(diào)用也會拋錯。
只是,構(gòu)造函數(shù)的話,需要在意提前聲明提前的問題嗎?如果需要,可以接受var foo = function foo(){};這種寫法嗎?
?
轉(zhuǎn)載于:https://www.cnblogs.com/followBlade/p/4054830.html
總結(jié)
以上是生活随笔為你收集整理的读阮一峰对《javascript语言精粹》的笔记,我有疑问。的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 乖乖 宝宝快一岁了,大家觉得我女儿漂亮吗
- 下一篇: 软件安全性能測试(转载)