为什么对象字面量没有名字?
?哈哈,歷史總是向前進步的,人的思維看法也是會變化的。這之間,需要不斷的學習和經(jīng)歷,因為與想的不一樣,所以才會反思。
時隔幾天,當我再回來看這個問題的時候,覺得自己的想法也是可愛。
現(xiàn)在來說說現(xiàn)在的看法:在js中函數(shù)的名字我們是看不到的,那為什么看不到呢?函數(shù)的名字到底是什么?
在權(quán)威指南有這么一段話:
我們一function聲明的,以為是函數(shù)名字的東西,其實僅僅是變量的名字,這個變量指代函數(shù)對象。
這個和表達式法定義的函數(shù)中的變量,性質(zhì)是一樣的。
?
?
?
?最初的寫的一些:
我在想為什么字面量聲明對象的時候,不能像函數(shù)那樣有個對象的名字?
像一般聲明對象: ?var myobj = {name: "小明",age: "18"'} ,必須創(chuàng)建然后賦值給myobj變量。
函數(shù)聲明的時候 ?var func = function(){}; 看上去和對象一樣的,這是匿名函數(shù)的創(chuàng)建。
有名字的函數(shù) ,他有一個關(guān)鍵字 function 來用 : function myfunc(){};這里的myfunc 就是函數(shù)的名字。
這么看來,想要有名字,就要有聲明它的關(guān)鍵字。
但是js中并沒有一個像 function 這樣的一個object關(guān)鍵字 。這樣,對象名字”這個東西就破滅了~
必須賦值來引用。?
其他的創(chuàng)建對象的方法,就有了高級設(shè)計中的構(gòu)造、工廠、原型等那6種模式了 。
轉(zhuǎn)載于:https://www.cnblogs.com/nostic/p/5859694.html
總結(jié)
以上是生活随笔為你收集整理的为什么对象字面量没有名字?的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 让AngularJS的$http 服务像
- 下一篇: NHibernate 错误