第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Javascript字符串不是對象嗎?

Javascript字符串不是對象嗎?

人到中年有點甜 2019-12-11 14:09:39
我真的在問,這不是開玩笑的設置。Douglas Crockford喜歡說在javascript原型面向?qū)ο笳Z言中不需要new。他解釋說,new添加這些代碼只是為了使來自基于類(即“ 經(jīng)典 ”)的面向?qū)ο蟮木幊陶Z言的人們有所舒適:JavaScript中,我們很難new雅JavaScript是一種原型語言,但是它有一個new運算符,試圖使它看起來像古典語言。這往往會使程序員感到困惑,從而導致一些有問題的編程模式。您無需new Object()在JavaScript中使用。請改用對象文字{}。好的:new 壞{} 好但隨后評論員維托·德·阿勞霍(VítorDeAraújo)指出兩者并不相同。他舉了一個例子,顯示a string不像是object:字符串對象和字符串值不是同一件事:js> p = "Foo"Foojs> p.weight = 4242js> p.weight // Returns undefinedjs> q = new String("Foo")Foojs> q.weight = 4242js> q.weight42字符串值不能具有新屬性。同樣的事情對于其他類型也有效。這里string不是an發(fā)生了object什么?我會將javascript與其他所有語言混為一談嗎?
查看完整描述

3 回答

?
瀟瀟雨雨

TA貢獻1833條經(jīng)驗 獲得超4個贊

字符串和對象之間最重要的區(qū)別是,對象必須遵循以下規(guī)則進行==操作:


僅當操作數(shù)引用相同的對象時,比較對象的表達式才為true。


因此,盡管字符串具有==比較值的便利,但是在使任何其他不可變對象類型表現(xiàn)得像值類型時,您還是很不走運。(也可能存在其他差異,但這是每天引起JavaScript開發(fā)人員興奮的唯一差異)。例子:


"hello" == "hello"

-> true

new String("hello") == new String("hello") // beware!

-> false



查看完整回答
反對 回復 2019-12-14
?
函數(shù)式編程

TA貢獻1807條經(jīng)驗 獲得超9個贊

我想強調(diào)一點,當使用對象方法來獲取原始值時,變量僅會臨時轉(zhuǎn)換為對象,并且在提出操作之后,該對象會轉(zhuǎn)換回原始值。正如您在字符串對象與文字中所看到的那樣,此概念可能會引起混淆-修改原型? 

查看完整回答
反對 回復 2019-12-14
  • 3 回答
  • 0 關注
  • 234 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號