JavaScript編程基礎

1、c++


1 .JavaScript基礎語法程序員

 

註釋:數組

 

1.單行註釋:函數

//單行註釋this

 

多行註釋:spa

/*debug

 *較長的多行指針

 *註釋對象

 *ip

 */

最好是針對某個功能來寫註釋

 

2. 語句

JavaScript中,語句通常以分號結尾,每條語句獨佔一行來寫代碼;不寫分號也不會報錯,可是代碼壓縮時可能會有問題,建議加上分號。

 

let i = 10;

console.log(i);//10

 

可使用C語言風格一對大括號將多條語句組合到一個代碼塊裏。

 

{

let i = 10;

console.log(i);//10

}

 

3. 標識符

 

所謂標識符,就是指用來標識某個實體的一個符號。再說通俗一點,就是本身起一個名字,這個名字能夠用來做爲變量名,函數名,對象名等。在JavaScript中,雖說標識符是本身取名字,可是也是須要遵照必定的規則, 其命名的規則大體能夠分爲2大類:硬性要求和軟性要求。

 

硬性要求:

1.能夠是由數字,字母,下劃線和美圓符號組成,不容許包含其餘特殊符號

2.不能以數字開頭

3.禁止使用JavaScript中的關鍵詞和保留字來進行命名。

4.嚴格區分大小寫

 

軟性要求:

望文知意。

 

命名的三種方法

 

1.匈牙利命名法

 

是微軟公司下面覺得匈牙利籍的程序員所發明的命名法則,其特色是標識符的名字以一個或者多個小寫字母開頭,表示該變量的數據類型;

 

| 數據類型               |  對應前綴   |

| --------                   -------        

|  Array數組             |   a         |

|  Boolean布爾           |   b         |

|  Float浮點             |   f         |

|  Function              |   fn        |

|  Intergerint)整型   |   i         |

|  Object對象            |   o         |

|  Regular Expression正則|   re        |

|  String  字符串        |   s         |

 

前綴以後的是一個單詞或多個單詞的組合,該單詞代表代表變量的用途。

 

例如:a_arrayo_object,i_userAge ,b_isPassed.

 

2.駝峯命名法:

 

大駝峯:就是每個單詞都是首字母大寫。例如:UserName

小駝峯:第一個單詞的首字母是小寫,後面單詞的首字母是大寫。例如:userName

 

3.蛇形命名法:

 

特色在於單詞與單詞之間使用下劃線進行分隔。

這種命名法常見於Linx內核,c++標準庫,Boost以及RubyRust等語言。

例如:user_name,my_name.

 

4.關鍵字和保留字

 

首先須要弄清楚關鍵字和保留字的區別是什麼。

 

      ECMA-262描述了一組具備特定用途的關鍵字。這些關鍵字可用於表示控制語句的開始或結束,或者用於執行特定操做等。按照規則,關鍵字是語言自己所保留的,不能用做標識符。

 

      ECMA-262還描述了另一組不能用做標識符的保留字。儘管保留字在這門]語言中尚未任何特定的用途。但它們有可能在未來被用做關鍵字。

 

JavaScript中的關鍵字與保留字以下:

 

      abstractawaitbooleanbreakbytecasecatchcharclassconstcontinuedebuggerdefaultdeletedodoubleelseenumexport

extendsfalsefinalfinallyfloatforfunctiongotoifimplementsimportininstanceofint

interfaceletlongnativenewnullpackageprivateprotectedpublicreturnshortstaticsuper

switchsynchronizedthisthrowthrowstransienttruetrytypeofvarvolatilevoidwhilewithyield

 

 

5. 數據類型介紹

 

JavaScript中,數據類型總體上來說能夠分爲兩大類:簡單數據類型和複雜數據類型

 

簡單數據類型:

 

簡單數據類型一共有6:

string, symbol, number, boolean, undefined, null其中symbol類型是在ES6裏面新添加的基本數據類型

 

複雜數據類型:

 

複雜數據類型就只有1object

包括JavaScript中的數組,正則等,其類型都是object類型

 

查看數據類型:

JavaScript中,咱們能夠經過typeof運算符來查看一個數據的數據類型

console. log( typeof 10);//number

console. log(typeof true);//boolean

console. log(typeof 'Hello');//string

console. log(typeof [1,2,3]);//object

 

 

 

2、變量

 

所謂變量,就是用於引用內存中存儲的一一個值。固然, 咱們在使用變量以前,還須要先作的一件事兒就是聲明變量。

 

1.聲明變量

 

      JavaScript中聲明變量的方式有3: var let const 。其中var如今已經不推薦使用了,由於會有變量提高等問題。(後面咱們會具體來探討此問題)

 

      constlet的區別在於,const 所聲明的變量若是是簡單數據類型,那麼是不可以再改變的。而let所聲明的變量不管是簡單數據類型仍是複雜數據類型,在後面是能夠改變的。示例以下:

 

const聲明變量

 

const name = 'Bill';

name = 'Lucy';

 

//TypeError: Assignment to constant variable.  

 

let聲明變量

 

let name = 'Bill';

name = 'Lucy';

console.log(name);

 

2. 變量的賦值與初始化

 

利用=給變量進行賦值,第一次賦值叫作初始化。在聲明變量時就會將變量給初始化,以下:

 

let a = 3

 

也能夠一次性初始化多個變量,將其寫在一行裏面。

 

let x = 3,y = 4,z = 5;

 

若是聲明變量時沒有賦予初值,那麼默認值爲undefined

 

let a;

console.log(a);//undefined

 

3. 使用var聲明變量

 

      前面有提到過,在JavaScript中聲明變量的方式有3: var, let ,  const。其中var如今已經不推薦使用了。這是由於使用var來聲明變量會伴隨着一些問題。 固然,這些問題也常常被看做是JavaScript的一些特色,例如重複聲明和遺漏聲明。

 

      重複聲明

 

      若是是使用var關鍵字來聲明的變量,那麼是容許重複聲明的。只不過這個時候會忽略這次聲明。若是從新聲明而且帶有賦值,則至關因而從新賦值

 

      重複聲明不帶有賦值操做,JS引擎會自動忽略後面的變量聲明

 

      var test = 3;var test;

   var test;

      console. log(test);//3

 

      從新聲明時若是帶有賦值操做,那麼會進行一一個數據的覆蓋

 

      var test = 3;var test = 5;

   var test = 5;

      console. log(test);//5

 

須要註釋重複聲明僅僅是使用var關鍵字時能夠這樣,若是是在嚴格模式中,或者使用letconst的話是會報錯的。

 

遺漏聲明

 

若是試圖讀取一個沒有聲明的變量的值,JS會報錯

 

console.log(a);

//ReferenceError: a is not defined

 

JS容許遺漏聲明,即直接對變量賦值而無需事先聲明,賦值操做會自動聲明該變量。

 

{

a = 5;

console.log(a);//5

}

console.log(a);//5

 

4. 做用域

 

1.全局做用域

這是JS引擎-進來就處於的運行環境。在全局做用域的中所聲明變量稱之爲全局變量。全局變量的特色在於變量在任何地方都能被訪問。

let a = 5;//這是一個全局變量

2.局部做用域

JavaScript中,一對大括號就能夠產生一個局部做用域。局部做用域裏面的變量稱之爲局部變量,既然是局部變量,那麼就只能在這個局部的做用域裏面能訪問到,外部是訪問不到的。

{

 

leti=10;

console. log(i) ;//10

console.log(i);

//ReferenceError: i is not defined

順帶一提的是,在大括號中用var聲明的變量不是局部變量,而是一個全局變量。這其實也是最先使用var來聲明變量所遺留下來的一一個問題。

 

{

var i = 10;

console.log(i);//10

}

console.log(i);//10

 

在局部做用域裏面,若是變量名和全局做用域裏面的變量名衝突,優先使用局部做用域裏面的變量。

 

let i = 10;

{

let i = 100;

console.log(i);//100

}

console.log(i);//10

 

若是在局部做用域裏面聲明變量時沒有書寫關鍵字,那麼會申明一個全局變量

 

{

i = 10;

}

console.log(i);//10

 

 

3、數據類型

 

數據類型介紹

 

JavaScript中,數據類型總體上來說能夠分爲兩大類:簡單數據類型和複雜數據類型

簡單數據類型

簡單數據類型一共有6:

string, symbol, number, boolean, undefined, null其中symbol類型是在ES6裏面新添加的基本數據類型

 

1.Undefined類型

只有一個值,即undefined值。使用var聲明瞭變量,但未給變量初始化值,那麼這個變量的值就是undefined

 

2.Null類型

null類型被看作空對象指針,前文說到null類型也是空的對象引用。

 

3.Boolean類型

該類型只有兩個值,truefalse

 

4.Number類型

Number類型包含整數和浮點數(浮點數數值必須包含一個小數點,且小數點後面至少有一位數字)兩種值。

NaN:非數字類型。特色:1.涉及到的 任何關於NaN的操做,都會返回NaN  2. NaN不等於自身。

isNaN() 函數用於檢查其參數是不是非數字值。

isNaN(123)  //false   isNaN("hello")  //true

 

5.String類型

字符串有length屬性。

字符串轉換:轉型函數String(),適用於任何數據類型(null,undefined 轉換後爲nullundefined);toString()方法(null,defined沒有toString()方法)。

 

6 symbo類型

ES5中包含5種原始類型:字符串、數字、布爾值、null和undefined。ES6引入了第6種原始類 :symbol

ES5的對象屬性名都是字符串,很容易形成屬性名衝突。好比,使用了 一個他人提供的對象,想 爲這個對象添加新的方法,新方法的名字就有可能與現有方法產生衝突。若是有一種機制,保證 每一個屬性的名字都是獨一無二的,這樣就從根本上防止了屬性名衝突。這就是ES6引入symbol 緣由。

 

複雜數據類型

 

複雜數據類型就只有一種object

包括JavaScript中的數組,正則等,其類型都是object類型

 

查看數據類型

JavaScript中,咱們能夠經過typeof運算符來查看一個數據的數據類型

console. log( typeof 10);//number

console. log(typeof true);//booleanconsole. log(typeof 'Hello');//stringconsole. log(typeof [1,2,3]);//object

相關文章
相關標籤/搜索