《avascript 高级程序设计(第三版)》 ---第三章 基本概念
本章主要介紹Javasript語言的一些語法:
1.嚴格模式:開啟:"use strict";
2.變量:全部用var來定義,在函數中使用的稱為局部變量,不能全局使用。
3.數據類型:undefined,null,boolean,number,string,object。不可以定義自定義類型。
1)使用typeof操作符返回變量的數據類型。
2)Boolean類型:
使用Boolean()函數可以把各種數據類型轉換成布爾值,轉換規則有:
(1)如果是String 非空字符串 true 空字符串 false
(2)如果是Number,非零數組,包括無窮大 true ?0和NaN false
(3)如果是Object,任何對象 true ?null false
(4)undefined ?n/a ?undefined false
注意:undefined == null 是true ,但是有區別:undefined 是默認的,如果未定義的變量是對象的話,就一定要定義為null。
2)關于浮點數,因為存在精度問題,所以不要試圖對一個浮點數做比較。
數值范圍的問題:在ECMAScript中,最小值是Number.MIN_VALUE,最大值是Number.MAX_VALUE.超出范圍顯示Infinity。可以用isFinite()函數判斷是否在范圍之間。
數值轉換:用于把非數值轉換為數值:Number() parenInt() parseFloat() 第一個函數用于把任何數據類型轉化。后兩個適用于字符串。
Number()函數有以下轉換:如果是 布爾型,轉1或0. ?數值 直接轉出。 null值,轉出0. undefined,轉出NaN。 字符串的話,如果只有數字轉出,如果有字符,轉出NaN。 如果是空的,轉出0.
parsenInt()函數有以下轉換:看第一個字符是不是數字來決定是否轉出。關于進制的問題,提供第二個參數是進制數。
parsenFloat()函數有以下轉換:它在轉換的時候只適用于十進制,所以碰到十六進制數據會轉出0.
3)任何一個字符串的長度都可以通過object.length輸出。
注意:字符串變量在創建之后就不能再賦值,除非在后面通過+運算符連接增加。
把一個數據類型(NULL和undefined除外)數值,布爾型,對象,字符串都可以通過toString()方法轉換成字符串。這個方法可以通過傳入數字基數來改變進制。 一個通用的函數是String()函數,如果是NULL和 undefined,則原樣返回,其他類型按toString()方法返回。
4)object類型:創建自定義對象: ?var o = new Object();
Object對象有一些通用的屬性。具體查看文檔。
4.位操作符:
1)按位非: var num = 25 ; var num2 = ~num1 ;?
按位非的本質:操作時的負值-1。
2)按位與: var result = 25 & 1 ;
3) 按位或: var result = 25 | 1 ;
4)按位異或: var reslut = 25 ^ 1 ;
5)左移: var oldValue = 5 ;
var newValue = oldValue << 5 ;
6)右移: >>?
5)無符號右移: >>>
5.布爾操作符
1)邏輯非:!
如果是一個對象,返回false;
如果是一個空字符串,返回true;
如果是一個非空字符串,返回false;
如果是數值0,返回true;
如果是任意非0,包括Infinity,返回false;
如果是null,返回true;
如果是NaN,返回true;
如果是undefined,返回true。
2)邏輯與:&&
注意:邏輯與操作可以應用與任何類型的操作數,如果有一個操作數不是布爾值的情況,遵循以下規則:
如果第一個操作數是對象,則返回第二個操作數。
如果第二個數是對象,在第一個操作數求值結果是true的情況下返回該對象。
如果兩個操作時都是對象,則返回第二個對象。
如果有一個操作數是NULL,則返回NULL。
如果有一個操作數是NaN,則返回NaN。
如果有一個操作數是undefined,則返回undefined。
邏輯與屬于短路操作,意思就是當邏輯判斷的時候第一個判斷為false的時候就不在去判斷第二個了。
3)邏輯或:||
如果第一個操作數是對象,則返回第一個操作數。
如果第一個操作數的求值結果為false,則返回第二個操作數。
如果兩個操作數都是對象,則返回第一個操作數。
如果兩個操作數都是null,則返回null。
如果兩個操作數都NaN,則返回null。
如果兩個操作數都undefined,則返回undefined。
邏輯或屬于短路操作,意思就是當邏輯判斷的時候第一個判斷為true的時候就不在去判斷第二個了。
注意:我們可以通過這個邏輯或的行為避免為變量賦null或undefined值。例如:
var myObject = preferredObject || backupObject ;
如果前者是null,它的值返回給myObejct,否則返回后者。
轉載于:https://www.cnblogs.com/yitianxi/p/5046650.html
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的《avascript 高级程序设计(第三版)》 ---第三章 基本概念的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 目录-GB/T 151-2014 热交换
- 下一篇: Appscan的下载安装