面向對象的JavaScript (一) ----- Javascript偏僻的基礎知識

本系列文章主要講解javascript的面向對象機制,以及如何寫出面向對象的javascript代碼。作爲本系列的第一篇文章,本文主要介紹javascript的比較偏僻的基礎知識,對於一些基本的語法,本文不會做介紹。讀者如果有什麼不理解的地方,可以參考其他javascript的書籍。讓我們開始進入javascript的世界。

1.數據類型
javascript有如下5中基礎數據類型(不包括object)
Number
String
Boolean
Undefined
Null

首先介紹undefined和null的區別。
undefined表示,當訪問不存在的變量的時候,會返回undefined,或者申明瞭變量但是沒有賦值,javascript就會自動給這個變量附上undefined這個初值。
null表示沒有值,空值。與undefined的區別是,如果值是null,這個變量仍舊是定義過得,之後我會舉個例子詳細介紹。

在講解這些數據類型之前,還需要介紹一個操作符,因爲這個操作符很有用,它就是typeof
typeof:返回一個表示類型的字符串,比如“number”,“boolean”“undefined”等。有了這個,你可以自己在寫一些javascript代碼試試,觀察一些各個變量各種情況下的類型以加深理解.

現在開始詳細介紹各個類型:
1.1 number
number的值可以用科學計數法表示的,比如:
1e+1 表示 10  2e+3 表示2000  2e-3 表示 0.002
infinity也是number的值,大概是1.7e+308左右,如果大於這個數,值仍舊是infinity,任何數除以0也會得到infinity,最小的數是-infinity
另外,number還有一個值,是NaN,表示"不是一個數字".比如你用10乘以字符串"f"的時候,得到的結果是NaN.注意,NaN是會傳遞的,如果一個算式中的一個單元結果爲NaN,則整個算式的結果爲NaN.

1.2 string
當string進行數字運算的時候,會自動的轉化爲數字,比如:
var s="1"; s = s*3;
此時s的類型就是數字.
所以,比較偷懶的將字符串裝化爲數字的方法就是讓字符串*1.

1.3 比較
關於boolean沒什麼好講的,所以來談談比較.除了= 和 = =外,javascript還提供= = =.表示全等,作用是,不僅比較值相等,還要比較類型相等.同理還有!==

1.4 關於undefined和null
終於又講到它們了.舉個例子,
 var somevar=null
這時,somevar的值是null,類型是object.
如果是這樣:
var someva.
則得到的結果是undefined

另外
1+undefined是null
1+null是1
1*null是0
!!undefined是false
!!null是false.

1.5 數組
最後講講數組,數組的類型是object,
主要提一下數組的刪除:
var a=[1,2,3]
delete a[1];
注意,此時a的值是
[1,undefined,3]

本文大致結束了,感覺只是提了一些概念,其實主要的javascript語法大家都懂,所以感覺也沒什麼必要在反覆講解.在後面一篇文章中,我會講解在屬下面向對象的javascript時的一些基礎知識.爲之後介紹繼承做好準備.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章