constant / value / js全局定義 這3者之間有什么區(qū)別?
認(rèn)證0級(jí)講師
1.js中的全局變量在整個(gè)全局空間內(nèi)都是存在的,angular
的兩個(gè)方法產(chǎn)生的常量只在angular
的上下文中有作用。
2.angular
中的constant()
創(chuàng)建的是一個(gè)可以被配置的常量,而value()
創(chuàng)建的是一個(gè)不可以被配置的常量。
3.具體:constant()
方法可以將一個(gè)已經(jīng)存在的變量注冊(cè)為服務(wù),然后通過依賴注入,可以注入到應(yīng)用的其他部分中去,注意:產(chǎn)生的常量不可以被裝飾器攔截
。
4.value()
方法和上面的方法基本一樣,不同之處在于:使用constant()
方法產(chǎn)生的常量可以通過.config
來配置,但是value()
產(chǎn)生的常量不可以配置。
5.通常用value()
來注冊(cè)服務(wù)對(duì)象或者函數(shù),而用constant()
來配置數(shù)據(jù)。