JS筆記之第一天

JavaScript:簡稱JS程序員

JS的原名不是JavaScript,而是LiveScript數據庫

JS分爲三個部分瀏覽器

1.ECMAScript  標準→JS的基本的語法函數

2.DOM——Document Object Model  文檔對象模型spa

3.DOM——Browser Object Model  瀏覽器對象模型翻譯

 

JavaScript是什麼?對象

是一門腳本語言:不須要編譯(翻譯),直接運行ip

是一門解釋性的語言:遇到一行代碼就解釋(執行)一行代碼內存

是一門動態類型的語言文檔

是一門基於對象的語言

是一門弱類型的語言,聲明變量的時候都是使用var

(編譯語言:須要把代碼翻譯成計算機所認知的二進制語言纔可以執行

腳本語言:不須要編譯,直接執行)

 

變量

操做的數據都是在內存中操做的

JS中存儲數據使用變量的方式(名字,值→數據)

JS中聲明變量都用var→存儲數據,數據應該有對應的數據類型

JS中的字符串類型的值都用雙引號或者單引號

 

變量的做用:用來操做數據的,能夠存儲,能夠讀取

變量的聲明:var  變量名字

變量的初始化:var  變量名字=值;又叫字面量的方式賦值

 

變量聲明(有var   有變量名字,沒有值)

變量初始化(有var  有變量名字,有值)

 

var 是變量的名字

「=」等號的意義是賦值的含義

 

var  number;//變量的聲明,此時是沒有賦值的(裏面是沒有數據的,由於沒有寫「=」號)

var  x,y,z,k,j;(都是聲明,沒有賦值);//一次性聲明多個變量

 

變量的初始化(變量聲明的同時而且賦值了)

存儲一個數字10     //var  number=10

存儲一我的的名字   //var  name=「小孩」

存儲真(true)     //var  flag=true

存儲一個null→至關因而空   //var  nll=null

存儲一個對象       //var  obj=new object()

 

須要注意基本代碼的規範:

1.JS中聲明變量都是用var

2.JS中每一行代碼結束都應該有分號(寫一行代碼結束要有寫分號的習慣,這是一種規範,規定。若是不寫,後期代碼愈來愈多就越容易出錯。);

3.JS中的大小寫是區分的;例:var  N=10;var n=10,這個N和n是不同的,它們沒有關係。

4.JS中的字符串可使用單引號,也可使用雙引號,目前咱們暫時使用雙引號。

 

 

變量名的注意問題——變量名的命名規範,要遵循駝峯命名法

1.變量的名字要有意義,(方便其餘人能看懂)(代碼越規範別人讀取越清晰)

2.變量名有必定的規範:通常以字母,$符號,下劃線開頭,中間或者後面能夠有$符號,字母,數字

3.變量名通常都是小寫的

4.變量名若是是多個單詞,第一個單詞的首字母是小寫,後面的全部的單詞的首字母都是大寫的,這種命名的方式稱爲:駝峯命名法。

5.不能使用關鍵字(好比系統自帶的一些單詞,不能使用)

6.不會單詞用拼音,拼音也要遵循駝峯命名法

 

變量的交換:

  1. 第一種方式:使用第三方的變量進行交換。
  2. 第二種方式:數字之間的加減運算(通常適用於數字的交換)
  3. 拓展的變量的交換:位運算

 

例子:

第一種方式: 使用第三方的變量進行交換

var  num1=10;

var  num2=20;

var  temp=num1;

num1=num2;

num2=temp;

 

第二種方式交換:通常適用於數字的交換

var num1=10;

var num2=20;

//把num1的變量中的值和num2變量中的值,取出來相加,從新賦值給num1這個變量。

num1=num1+num2;//30

//num1變量的值和num2變量的值取出來,相減的結果從新賦值給num2.

num2=num1-num2;//10

//num1變量的值和num2變量的值取出來,相減的結果從新賦值給num1(num2已經從新賦值了,num2=10,代入進去就獲得num1=30-10=20)

num1=num1-num2;//20

console.log(num1,num2);【把num1和num2放在一塊兒,這樣能夠一塊兒輸出】

 

拓展的變量的交換:位運算

var num1=10;

var num2=20;

num1=num1^num2

num2=num1^num2

num1=num1^num2

 

 

註釋:是解釋代碼的含義,方便本身或者給其餘的程序員看的

註釋的方式:

1.單行註釋  //         通常用在一行代碼的上面

2.多行註釋  /*中間這裏寫註釋的內容*/        通常用在函數或者是一段代碼的上面

註釋後的代碼是不執行的

 

 

JS中的數據類型有哪些?

JS中的原始數據類型:number、string、boolean、null、undefined、object

 

number:數字類型(包含整數和小數)

string:字符串類型(字符串類型的值通常都是用單引號或者雙引號括起來)

boolean:布爾類型(布爾類型的值只有兩個,true(真1),false(假0))

null:空類型,值只有一個:null。當一個對象指向爲空了,此時能夠賦值爲null

undefined:未定義,值只有一個:undefined

object:對象

 

什麼狀況下的結果是undefined?

變量聲明瞭,沒有賦值,結果是undefined。

函數沒有明確的返回值,若是接收了,結果也是undefined。

若是一個變量的結果是undefined和一個數字進行計算,結果是:NaN(not an number)不是一個數字也沒有意義。

 

 

如何獲取這個變量的數據類型是什麼?使用typeof來獲取。

typeof的使用的語法:

均可以獲取這個變量的數據庫類型是什麼!

typeof加變量名;

typeof(變量名);

console.log(typeof(變量名));

 

JS中能夠表示哪些進制?

JS中沒有二進制

 

十進制:數字序列範圍0、1

八進制:數字序列範圍0~7

十六進制:數字序列範圍:0~9以及A~F

 

var num=10;//十進制

var num2=012;//八進制

var num3=0x123;//十六進制

 

數字類型是有範圍的:最小值和最大值

console.log(Number.MAX_VALUE);數字的最大值

console.log(Number.MIN_VALUE);數字的最小值

 

無窮大:Infinity

無窮小:-Infinity

 

總結:

1.數字類型:number類型

2.不管是整數仍是小數都是數字類型

3.不要用小數驗證小數, 不然有時將會出現bug

4.不要使用NaN判斷是否是NaN,應該使用isNaN(值或者是變量);

5.想要表示十進制:就是正常的數字

6.想要表示八進制:以0開頭

7.想要表示十六進制:以0x開頭

 

 

string數字類型

字符串可使用單引號,也可使用雙引號;

(字符串的個數有多少個?(這個字符串的長度是多少?))

字符串的長度如何獲取?變量名.length

 

JS中的字符串裏也有轉義符

\b   退格

\f   走紙換頁

\n   換行

\r   回車

\t   橫向跳格(Ctrl—I)(tab鍵)

\’  單引號

\"   雙引號

\\   反斜槓

 

字符串的拼接:使用「+」能夠把多個字符串放在一塊兒造成一個字符串;

只要有一個是字符串,其它的是數字,那麼結果也是拼接,不是相加;

若是有一個是字符串,另外一個不是字符串,使用-、*號,此時會發生計算

 

瀏覽器幫助咱們自動的把字符串類型轉成數字類型,這種方式叫:隱式轉換(自動轉換)

 

boolean布爾類型

布爾類型的值有兩個,一個是ture(真),一個是false(假);

計算機內部存儲:true爲1,false爲0;

 

Undefined和Null

undefined表示一個聲明瞭沒有賦值的變量,變量只聲明的時候值默認是undefined

null表示一個空,變量的值若是想爲null,必須手動設置

 

類型轉換

1.  其它類型轉數字類型:三種方式

2.  其它類型轉字符串類型

3.  其它類型轉布爾類型

 

 

其它類型轉數字類型:三種方式

1.parseInt();//轉整數

console.log(parsrInt(「10」));//10

console.log(parsrInt(「10jjsssxxx」));//默認轉換成10,後面的字母自動忽略;

console.log(parsrInt(「g10」));//NaN(不是一個數字)

console.log(parsrInt(「1」));//1

console.log(parsrInt(「10.924」));//10默認轉換成整數

console.log(parsrInt(「10.23hhj」));//10默認轉換成整數

 

2.parseFloat()//轉小數 。結果與轉整數差很少,只不過轉的是小數

 

3.Number();//轉數字。

 

小數和整數都是數字,因此均可以轉,若是添加了不是數字的字符,那就會出現NaN;

總結:想要轉整數用parseInt();想要轉小數用parseFloat();想要轉整數用Number()(Number()這種方式要比上面的兩種方式嚴格)

(瀏覽器顯示黑色的,說明是字符串類型)

 

其它類型轉字符串類型:

1.  .toString()

var  num=10;

console.log(num

.toString());//字符串類型

 

2. String();

var numl1=20;

conso.log(Strong(numl1));

 

若是變量有意義,調用 .toString()轉換

若是不量沒有意義,使用String()轉換

 

其它類型轉布爾類型:

Boolran(值)

 

console.log(Boolean(1));//ture

console.log(Boolean(0));//false

console.log(Boolean(11));//ture

console.log(Boolean(-10));//ture、

console.log(Boolean(「哈哈」));//ture

console.log(Boolean(「」));//flase

console.log(Boolean(null));//false

console.log(Boolean(undefined));//false

 

 

運算符(又叫操做符)

操做符:是一些符號→是用來計算

 

運算符分爲:

       算數運算符

       一元運算符

       二元運算符

       三元運算符

       複合運算符

       關係運算符

       邏輯運算符

 

算數運算符:  +  -  *  /  %(取餘,取餘數)

算數運算符的做用是用來計算的

算數運算表達式:由算數運算符鏈接起來的表達式

操做符兩邊的操做數能夠是:數字、變量或者表達式。

 

一元運算符:這個操做符只須要一個操做數就能夠運算的符號   ++  --

 

二元運算符:這個操做符須要兩個操做數就能夠運算的符號

 

複合運算符:+=  -=  *=  /=  %=

複合運算表達式:由複合運算符鏈接起來的表達式

var num=10;

num+=10;→就是:num=num+10

 

關係運算符:>  <  >=  <=  ==  ===  !=  !==

關係運算表達式:由關係運算符鏈接起來的表達式

關係運算表達式的結果是布爾類型。

==不嚴格的相等   ===嚴格的相等

==只需判斷值一不同就能夠了不須要判斷類型,

===既須要判斷值一不同,又須要判斷類型一不同

!=不嚴格的不等

!==嚴格的不等

 

邏輯運算符:&&  //   !

邏輯運算表達式:由邏輯運算符鏈接起來的表達式

&&---邏輯與(與---而且)

//---邏輯或(或---或者)

!---邏輯非(非---取反--取非)(取反,取相反的結果)

 

表達式1 && 表達式2

若是有一個爲false,整個的結果就是false

表達式1 // 表達式2

若是有一個爲true,整個的結果爲true

!表達式1

表達式1的結果是true,整個結果爲false

表達式1的結果是false,整個結果爲true

 

運算符的優先級

優先級從高到底

1. ()  優先級最高

2. 一元運算符  ++   --   !

3. 算數運算符  先*  /  %   後 +   -

4. 關係運算符  >   >=   <   <=

5. 相等運算符   ==   !=    ===    !==

6. 邏輯運算符 先&&   後||

7. 賦值運算符  =

 

字面量:把一個值賦值給一個變量   var  num=10;

相關文章
相關標籤/搜索