js基礎-2

來源:互聯網
上載者:User

標籤:名稱   其他   parse   定義   算術運算   bool   第一個   gate   nbsp   

###使用變數名的注意事項

####關鍵字(reserved word)

在 JavaScript 中已經定義過的字,使用者不能再將這些字作為變數名使用

>>>![](images/identifier_04.bmp)
>
>另外,還有三個詞雖然不是保留字,但是因為具有特別含義,也不應該用作標識符:Infinity、NaN、undefined。

###變數提升
----
js運行時候會把所有變數收集,並放在js開頭位置。(函數也會提升)
### 標識符
標識符是用來識別具體對象的一個名稱。最常見的標識符就是變數名,
以及後面要提到的函數名。JavaScript語言的標識符對大小寫敏感,所以a和A是兩個不同的標識符。

>標識符有一套命名規則,不符合規則的就是非法標識符。JavaScript引擎遇到非法標識符,就會報錯。
>>命名規範:
>- 第一個字元可以是任意Unicode(萬國碼)字母,以及貨幣符號($)和底線(_)。
>- 第二個字元及後面的字元,還可以用數字。

>>中文是合法的標識符,可以用作變數名(這種方式**不推薦**)


###常量 es6

常量就是在程式運行中,不會被改變的量

例:
const PI=3.14;


1,常量是塊級範圍,範圍和let一樣。
2,不能重新來賦值,也不能被重新定義,會直接報錯!
3,在建立時候,常量需要被初始化,也就是賦值,否則會報錯!
4,一個常量不能和它所在範圍內的其他變數或函數擁有相同的名稱
5,值可以是任何類型,但無法重新賦值。對象屬性不在保護範圍內
6,沒有強制規範命名,為了和變數區分,全部大寫。
相容性:ie 11 Google21

 

###類型之間的轉換
####隱式轉換

1,當不同資料類型進行相互運算的時候,
2,當對非布爾類型的資料求布爾值的時候

預期為數位時候:
算術運算的時候,我們的結果 和 運算的數都是數字,資料會轉換為數字進行計算(- * / %)

| 類型 | 轉換前 | 轉換後 |
| ------------- |:-------------:| -----:|
| number | 4 | 4 |
---------------------------------------
| | ‘1‘ | 1 |
| string | ‘abc‘ | NaN |
| | ‘‘ | 0 |
---------------------------------------
| boolean | true | 1 |
| boolean | false | 0 |
---------------------------------------
| undefined | undefined | NaN |
| null | null | 0 |

預期為字串的時候:

轉為字串 使用+號時候,會自動轉換為字串

預期為布爾的時候:

轉換為布爾值,undefined null ‘‘ 0 NaN -->false 其餘為 true

####強制類型轉換
轉換為數值Number(),parseInt(),parseFloat()轉換函式

Number 在進行轉換時候,遇到不能轉換為數值的,就返回數值NaN;能返回浮點數 整體進行轉換
parseInt()在進行轉換時候,遇到不能轉換為數值的,就返回能轉換的正整數 單獨轉換
parseFloat() 能返回浮點數 單獨轉換 只能解析第一個小數點

前者把值轉換成整數,後者把值轉換成浮點數。
String類型調用這些方法,這兩個函數才能正確運行;如果遇到非數字,返回NaN Not a Number

小技巧:
轉換字串 a=""+資料
轉換boolean !!資料類型
轉換數值 資料類型*或/1;容易誤解

###JavaScript的運算子
- 算術運算
![](images/ys.png)
> - 加法運算子(Addition):x + y
> - 減法運算子(Subtraction): x y
> - 乘法運算子(Multiplication): x * y
> - 除法運算子(Division):x / y
>
> - 餘數運算子(Remainder):x % y
> - 自增運算子(Increment):++x 或者 x++
> - 自減運算子(Decrement):--x 或者 x--
> - 求負運算子(Negate):-x


- 賦值運算

- 比較運算
字元編碼:電腦裡所有的數字,字母和其他符號都有編號。這有利於資料化傳輸 charCodeAt()
如果是是多個字元,會逐個比較。(字元的 Unicode 編碼。這個傳回值是 0 - 65535 之間的整數)


- 邏輯運算


邏輯非,可以用於任何值。首先會轉換為值為布爾值,再取反(也叫取反運算子)
預期為布爾值:undefined null ‘‘ 0 NaN -->false 其餘為 true

邏輯與,有兩個以上運算元,判斷裡面兩個是否都會返回true

邏輯或,兩個以上運算元,判斷裡面兩個是否有一個返回true

邏輯與,邏輯非 也稱為短路運算子。
例:
var b_flag=true;
var b_flag2=b_flag&& a;
console.log(b_flag2);

var b_flag=false;
var b_flag2=b_flag&& a;
console.log(b_flag2);

- 條件運算

? :

###運算子的優先順序
----
| 優先順序 | 運算類型 | 運算子使用 |
19 圓括弧()
18 new 成員訪問 數組訪問. []
17 函數調用fn
16後置遞增和遞減 ++ --
15 邏輯非,前置遞增遞減typeof! ++ --
14 乘除取餘 *\%
13 加減+ -
11大於小於等於 <>=
10 等於全等於不等於不全等 == === != !==
6 邏輯與&&
5邏輯或||
4 三元運算?:
3賦值=

1,善於使用括弧運算子
2,記住運算子的優先順序

賦值運算很低,先計算右邊運算式,再賦值給左邊
###程式順序執行結構
----

順序結構的程式是嚴格按照程式中代碼的先後執行的;如果有選擇結構,就會根據具體條件
執行相應的代碼。迴圈結構中也會有條件判斷,會根據不同的情況執行不同的代碼的。有的
還有互動技術,會根據使用者的要求或是外界的情況作出響應的。

js基礎-2

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.