天天看點

函數和對象

1.【表達式和語句】

表達式:是javascript認識的最小機關,可以是直接量,變量,運算符的結合,或者其中之一。例:a = 123;true && 0;

語句:是由一個或多個表達式組成或關鍵字組成。var 是一個關鍵字。例: var a = 123;

變量命名補充:

保留字/關鍵字 this break continue function等

a.“關鍵字”就是 JS 本身已經使用了,具有一定特殊的含義for、function、if

b.“保留字”實際上就是預留的“關鍵字”,意思是現在雖然現在還不是關鍵字

比如:class float

(也就是本身還不具備特殊含義的),但是未來可能會成為關鍵字的

2.【基本類型與引用類型】

堆和棧的差別:

1、棧(stack)記憶體:由作業系統自動配置設定釋放。

2、堆(heap)記憶體:動态配置設定的空間。一般由程式員配置設定釋放,若程式員不釋放,程式結束時可能由作業系統回收 。

7種資料類型分為二類

1.基本類型:Undefined、Null、Boolean、Number 和 String,這5中基本資料類型可以直接通路,他們是按照值進行配置設定的,存放在棧(stack)記憶體中的簡單資料段,資料大小确定,記憶體空間大小可以配置設定。

2.引用類型:array、object、function。即存放在堆(heap)記憶體中的對象,變量實際儲存的是一個指針,這個指針指向另一個位置。

3.【循環結構】

文法:

for(初始部分;循環條件;變化值){

  循環體

}

例子:

for(var a = 1,sum=0; a<=5;a++){     
 sum = sum+a;
 console.log(sum);
 console.log(a);
}      

4.【函數】

--函數聲明

---有名函數

---匿名函數

1.聲明狀态:

//變量提升,隻提取變量名,值為undefined
bb();  //報錯  bb is not a function.    bb == undefined
var bb = function(){
  函數體;
};//函數提升,提取函數名和函數體。
函數名(); //可以正常調用。
function 函數名(){
  函數體
}      

2.執行/調用狀态:

函數名();

5.【對象】

對象有屬性和方法。

var obj = {
 屬性名:屬性值,
 屬性名1:屬性值,
 屬性名2:屬性值,
 方法:function(){
  函數體;
 },
 方法1:function(){
  函數體;
 }
}