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