javascript的一些小知識
阿新 • • 發佈:2018-09-03
每一個 www. lean http 適應 and 左移 和數 邏輯 把外部javascript文件放在瀏覽器的後面,可以提高瀏覽器的加載速度
defer="defer",等到瀏覽器加載完畢後才執行腳本,只對外部腳本鏈接有效
使用var定義的變量是局部變量,省略var就是全局變量,不推薦在局部變量裏聲明全局變量,很難維護
。。。。。。
javascript中有5種簡單的數據類型,分別:
“undefined”未定義,
“null”空的,被定義為空的對象引用,所以它返還的數據類型是對象。
“Boolean”布爾值,
“number”數字,
“string”字符串,
還有一種復雜的類型是“object”對象,javascript數據類型具有動態性,用typeof可以返還上面6種的數據類型
defer="defer",等到瀏覽器加載完畢後才執行腳本,只對外部腳本鏈接有效
使用var定義的變量是局部變量,省略var就是全局變量,不推薦在局部變量裏聲明全局變量,很難維護
。。。。。。
javascript中有5種簡單的數據類型,分別:
“undefined”未定義,
“null”空的,被定義為空的對象引用,所以它返還的數據類型是對象。
“Boolean”布爾值,
“number”數字,
“string”字符串,
還有一種復雜的類型是“object”對象,javascript數據類型具有動態性,用typeof可以返還上面6種的數據類型
- null和undefined是值相等,但是數據類型不相等
變量未賦值之前輸出的數據類型是undefined
null用於沒有真正保存的對象
2 boolean布爾值,這個類型只有兩個字面量true和false,要將一個值轉換成布爾值,可以用boolean()函數來轉換,
其他的數據類型也可以轉換, - number數字類型,小數點保存空間是整數的兩倍,推薦使用整數,對於極小或極大的數可以用科學計數法“e”,來表示。
在javascript中最小的數值保存在Number.MIN_VALUE中,在瀏覽器中值是5e-324,
最大的數值保存在Number.MAX_VALUE中,在瀏覽器中值是1.7976931348623157e+308
想知道數值是不是在它們之間用isFinite()函數,如果在就會返回true,反之就會返回false,
NaN是一個特殊的數值,NaN與任何的額數值都不相等,包括它本身,
isNaN()函數可以幫我們判斷是不是數值,可不可以轉換為數值,不能的函數會返回true,反之返回false,
有三個函數可以將非數值轉換成數值,分別是:“Number()”,“parseInt()”,“parseFloat()”, - string字符串,字符串有雙引號或單引號表示,字符串有轉義序列
length屬性可以訪問字符串的長度
字符串的特點是一成不變的,一旦創建就不可以改變它的值
但是null和undefined沒有,是null就返回nul,是undefined就返回undefined
用+號將值和字符串綁在一起,會自動轉換為字符串 - object對象,是一組數據和功能的集合,對象可使用new操作符來創建,可以對其添加屬性和方法,有圓括號
在javascript中object是所有對象的基礎,都具備屬性和方法,
。。。。。。
操作符,用於操作數據值的操作符,包括算術操作符和位操作符,關系操作符和相等操作符,它們能夠適應多種值,
相應的操作符都會調用對象的valueof()或者toString()方法,
一,算術操作符
1.一元操作符,只能操作一個值的操作符,
遞增和遞減操作符,++和--
有前置型和後置型,前置放在變量的前面,後置放在變量的後面
前置型的一元操作符是在值基礎上+1和值的基礎上-1,有優先級,所以整個語法是被看做從左到右求值
後置型的遞增沒有改變,而遞減改變了,它是在原始的上減一,沒有優先級
2.一元加和減操作符,+,-,和數學上面的一樣不會對數值造成影響,相當於正和負
非數值會調用方法轉換,布爾值true會轉換位1,布爾值false會轉換成0,
加和減操作符對非數值的轉換規則都是相同的。
二,位操作符,對進制數值的轉換 - 按位非(NOT)用~表示,執行它就是返回數值的反碼,相反的,
- 按位與(AND)用&表示,它有兩個操作符數,將操作符數轉換為二進制,對應的位是1才返回1,0就返回0,返回十進制,
- 按位或(OR)用|表示,它有兩個操作符數,將操作符數轉換為二進制,對應的位是1就返回1,有一個是1也返回1,兩個都是0就返回0,返回十進制,
- 按位異常或(XOR)用^表示,它有兩個操作符,將操作符數轉換為二進制,對應的位有一個是1才返回1,兩個事1或者0,就返回0,返回十進制,
- 左移(用兩個小於號<<表示)相應的位數,有符號的右移(用兩個大於號>>表示)相應位數,無符號的右移(用三個大於號>>>表示),相應的位數
三,布爾操作符,一共有三個,“非(NOT)”,“與(AND)”,“或(OR)” - 邏輯非(NOT)用!表示,可用於任何值,不管任何數據類型,它會返回一個布爾值,然後對布爾值求反,可以用兩個邏輯非操作符,規則是一樣的,
- 邏輯與(AND)用&&表示,有兩個操作數,可用於任何類型的操作數,不能使用未定義的值,它是短路操作符,第一個能夠決定結果,就不會求第二個的值
- 邏輯或(OR)用||表示,有兩個操作數,它是短路操作符,第一個求值為true,就不會對第二個求值,
四,乘性操作符,定義了3個乘性操作符,乘法,除法,求模,在操作非數值的時候,後臺會自動的轉換類型, - 乘法,用(*)表示,計算兩個數值的乘積,如果操作數不是數值,後臺會自動的轉換為數值
- 除法,用(/)表示,執行第二個操作數除以第一個操作數,如果操作數不是數值,後臺會自動的轉換為數值
- 求模,用(%)表示,操作數都是數值,常規計算,返回除得的余數,如果操作數不是數值,後臺會自動的轉換為數值
五,加性操作符和減性操作符, +,- - 加法操作符,用(+)表示,也會在後臺轉換不同的數據類型,操作數都是數值,常規計算,
- 減法操作符,用(-)表示,操作數都是數值,常規計算,
六,關系操作符,小於(<),大於(>),小於等於(<=),大於等於(>=),用於兩個值的比較,都會返回一個布爾值,
關系操作符也有相應的規則,如下: - 如果兩個操作數都是數值,執行數值比較,
- 如果兩個操作數都是字符串,比較兩個字符串對應的字符編碼值
- 如果一個操作數是數值,將另一個操作數轉換為數值,在進行數值比較
- 如果一個操作數是布爾值,將其轉換為數值,在比較
- 任何一個操作數 與NaN比較,都是false
七,相等操作符,確定兩個變量是否相等是編程中非常重要的操作,兩個方案:1. 相等和不相等,先轉換在比較,2. 全等和不全等,就比較不轉換 - 相等和不相等,相等用(==)表示,不相等用(!=)表示, 這兩個操作符都會先轉換(強制轉型),然後在比較它們的相等性,
在轉換不同數據類型時,會遵循以下規則: - 全等和不全等,全等用(===)表示,不全等用(!==)表示,它們的操作數都是在未經轉換的情況下返回布爾值,
為了保護代碼的數據類型完整性推薦使用全等和不全等,關鍵詞排名查詢工具請添加鏈接描述
javascript的一些小知識