四、數據都是一堆符號

javascript編入集

在JavaScript中

  1. 使用 0-9 這些數字表示 number
  2. 使用 “ ” 或者 ' ' 引號括起來的表示 string
  3. 使用 true或者false 標識 boolean
  4. function 都是object
  5. Object 也是 Function
  6. {} 是 object

我想,前面三點都是非常簡單的,數字就是數字,字符就是字符,真假就是真假,在說話,書寫,編寫任何代碼都適用。后面三點,這是在js中獨有的味道。

在面向對象的語言中,很多采用的是單根結構[1]。所以說萬事萬物皆為對象。但是,js雖然是一種面向對象的編程語言,但是卻不是簡單的單根結構,問題就在Function和Object的特殊性上。

雖然說過,數字使用L或者D作為末尾標識,確定精度[2]范圍,但是在js中使用的是 IEEE 754規范,使用雙精度標識,所以不需要區分,所有內容都是雙精度的,無論是整型還是浮點數。
所以:

var a = 1L;
var b = 2D;

都是錯誤的,末尾不需要額外的標識位。
但是:

var c = 0x1;

這個是必需的,因為這代表的是進制轉換。
不過有一點,無論是何種進制,在js中都會轉為十進制,所以當你取值時發現不對,不需要緊張,這只是表示方式不同而已,定下的內容是不會變的。
不過在js中數學運算可能會出點精度不對的問題

0.1+0.2 !=0.3

你可能會驚訝,為什么呢。這時候就要去參考一下規范是為什么了吧。


  1. 即所有對象都是Object的子對象,跟一棵樹一樣,從根出發 ?

  2. 觀測值對比真值的精確程度 ?

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • Spring Cloud為開發人員提供了快速構建分布式系統中一些常見模式的工具(例如配置管理,服務發現,斷路器,智...
    卡卡羅2017閱讀 134,923評論 18 139
  • 國家電網公司企業標準(Q/GDW)- 面向對象的用電信息數據交換協議 - 報批稿:20170802 前言: 排版 ...
    庭說閱讀 11,149評論 6 13
  • 最近很多人包括我自己都在對我說:“最近好迷?!?。 你第一次告訴我你很迷茫,我說,去看??催@個世界,看不同的生活,看...
    大夢卯時生閱讀 389評論 1 5
  • 文/卜白 唇形科的香草眾多,但被河南人一直惦記的莫過于荊芥了。悉數唇形科中西方風行的香草,也許沒有比荊芥的清爽更能...
    卜白閱讀 3,812評論 5 4
  • 每年回家都要面對這些老大難的問題,父母總想著以過來人的身份把他們認為好的生活加在我們的身上,我們的無奈也只能通過這...
    七公保閱讀 290評論 2 9