Javascript基礎

目錄

一、字符串

二、iterable

三、變量

四、語法

 


一、字符串

字符串一旦定義好,其內容不可以被更改,只能通過創建新的字符串來獲取改變的結果

  • 顯示:

(1)多行顯示:`...這裏寫換行內容...` 

   例:`第一行

           第二行 `

(2)字符串+變量:` .....${變量名}.....`

(3)模板字符串:'字符串1' + '字符串2'

  • 函數

(1)字符串全變成大寫:例 a=' this is a string '; a.UpperCase(); 

(2)字符串全變成小寫:例 a=' this is a string '; a.LowerCase(); 

(3)字符串定位:例 a='this is a string'; a.indexOf('is')  返回5

(4)字符串剪切:例 a='this is a string';    a.substring(0,6)(不包含6)返回'this i'          a.substring(6)返回's a string '

二、iterable

ES6標準引入新的iterable類型,具有iterable類型的集合可以通過新的for-of循環來遍歷。

1.Array

2.Map

3.Set

三、變量

js中的變量類型不固定,聲明定義類型後還可以賦值爲其他類型的值。

1.聲明+定義

聲明:關鍵字 變量名;例:var num;(js中函數定義有變量提升的特點,即先把所有聲明的變量提到函數頂部再往下執行)

定義:變量名 = 變量值;例:num = 2;

聲明+定義:關鍵字 變量名 = 變量值;例:var num=2;

多個變量聲明或定義加逗號:關鍵字  變量名1 = 變量值1,變量名2 = 變量值2,變量名3 = 變量值3;

2.變量作用域

  • 全局作用域:不在任何函數中定義的變量具有全局作用域

      js默認只有一個全局變量window, 所有全局變量和函數綁定在window上,不同的js文件若使用了相同的全局變量或頂層函數         名,則會發生命名衝突,這時候就需要名字空間(即將所有變量和函數全部綁定在一個除window之外的全局變量)

var MY_PAGE= {};

MY_PAGE.name = 'myName';//定義變量
MY_PAGE.foo = function(){  //定義函數
 return 'hello' ;
}
  • 函數體作用域:在函數內部定義的變量具有函數體作用域
  • 局部作用域:如for循環等塊級作用域

3.關鍵字

變量:var(只能聲明全局和函數體作用域)/ let (可以聲明全局、函數體和局部作用域)

常量:const(可以聲明全局、函數體和局部作用域,變量名最好大寫)

4.解構賦值

 

四、語法

1.操作符

與或非

  • 按位與:&           按位或:|        按位非:~        按位異或:^        
  • 邏輯與:&&        邏輯或:||        邏輯非:!

加性乘性操作符:

  • + 、-、*、/、%(取餘)、
  • ++a / --a / a++ / a--

關係操作符:> 、>= 、< 、<=

相等操作符:

  • 先轉換類型再對比:==、!=
  • 不轉換類型對比(類型不同返回false):===、!==

2.條件判斷

if(判斷條件){ 執行語句1;}  else{ 執行語句2;}

if(判斷條件1){ 執行語句1;}  else if(判斷條件2){ 執行語句2;}  else{ 執行語句2;}

條件操作符:var  variable = boolean_expression ? true_value : false_valse; 

3.循環

do-while:do{  statement;  } while(expression);

while:while(expression){  statement ; }

for:for(initialization; expression; post-loop-expression){  statement ; }

for-in:for( property in expression ){  statement ; }

for-of:for( property of expression ){  statement ; }

循環配套語句:break、continue、label

4.switch(在對比時不會類型轉換,相當於===)

switch(expression){

    case value1:statement1;break; // if(expression === value1){statement1;}

    case value2:statement2;break;// else  if(expression === value1){statement1;}

    ......                                                   //  ......

    default:statement;                         // else{statement;}

}

5.函數

(1)函數定義

方式1:

function   函數名(參數){

       函數體

}

方式2:

var 函數名 = function(參數){

      函數體

};

(2)函數參數

  • 函數可傳入參數可大於或小於定義參數,大於則忽略,小於返回NaN
  • arguments:包含函數傳入的所有參數,即使沒有定義參數
  • rest:包含除了正常定義的剩下所有參數,傳入小於正常定義返回空數組

(3)函數返回值

  • 函數返回值注意要在當前一行加分號;防止編譯器自動添加造成錯誤
  • 若設置了返回值則正常返回,否則返回undefined

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章