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(){
函數體;
}
}