1、運算子
運算子就是完成操作的一系列符號,它有七類:
賦值運算子(=,+=,-=,*=,/=,%=,<<=,>>=,|=,&=)、算術運算子(+,-,*,/,++,--,%)、比較子(>,<,<=,>=,==,===,!=,!==)、邏輯運算子(||,&&,!)、條件運算(?:)、位移運算子(|,&,<<,>>,~,^)和字串運算子(+)。
可能很多人不知道"==="是什麼。
在這裡,我為大家解釋一下,在javascript中,“=="是等同運算子。
等同運算子的比較規則:
當兩個運算數的類型不同時:將他們轉換成相同的類型
1)一個數字與一個字串,字串轉換成數字之後,進行比較。
2)true轉換為1、false轉換為0,進行比較。
3)一個對象、數組、函數 與 一個數字或字串,對象、數組、函數轉換為原始類型的值,然後進行比較。(先使用valueOf,如果不行就使用toString)
4)其他類型的組合不星等。
想兩個運算數類型相同,或轉換成相同類型後:
1)2個字串:同一位置上的字元相等,2個字串就相同。
2)2個數字:2個數字相同,就相同。如果一個是NaN,或兩個都是NaN,則不相同。
3)2個都是true,或者2個都是false,則相同。
4)2個引用的是同一個對象、函數、數組,則他們相等,如果引用的不是同一個對象、函數、數組,則不相同,即使這2個對象、函數、數組可以轉換成完全相等的原始值。
5)2個null,或者2個都是未定義的,那麼他們相等。
而“===”是全同運算子,全同運算子遵循等同運算子的比較規則,但是它不對運算數進行類型轉換,當兩個運算數的類型不同時,返回false;只有當兩個運算數的類型相同的時候,才遵循等同運算子的比較規則進行比較。
例如:null==undefined 會返回真 , 但是null===undefined 就會返回假!
2、運算式
運算子和運算元的組合稱為運算式,通常分為四類:賦值運算式、算術運算式、布林運算式和字串運算式。
3、語句
Javascript程式是由若干語句組成的,語句是編寫程式的指令。Javascript提供了完整的基本編程語句,它們是:
指派陳述式、switch選擇語句、while迴圈語句、for迴圈語句、for each迴圈語句、do while迴圈語句、break迴圈中止語句、continue迴圈中斷語句、with語句、try...catch語句、
if語句(if..else,if...else if ...)、let語句。
4、函數
函數是命名的語句段,這個語句段可以被當作一個整體來引用和執行。使用函數要注意以下幾點:
1)函數由關鍵字function定義(也可由Function建構函式構造)。
2)使用function關鍵字定義的函數在一個範圍內是可以在任意處調用的(包括定義函數的語句前);而用var關鍵字定義的必須定義後才能被調用。
3)函數名是調用函數時引用的名稱,它對大小寫是敏感的,調用函數時不可寫錯函數名。
4)參數表示傳遞給函數使用或操作的值,它可以是常量,也可以是變數,也可以是函數,在函數內部可以通過arguments對象(arguments對象是一個偽數組,屬性callee引用被調用的函數)訪問所有參數。
5)return語句用於返回運算式的值。
6)yield語句扔出一個運算式,並且中斷函數執行直到下一次調用next。
一般的函數都是以下格式:
複製代碼 代碼如下:
function myFunction(params){
//執行的語句
}
函數運算式:
複製代碼 代碼如下:
var myFunction=function(params){
//執行的語句
}
複製代碼 代碼如下:
var myFunction = function(){
//執行的語句
}
複製代碼 代碼如下:
myFunction();//調用函數
匿名函數,它常作為參數在其他函數間傳遞:
複製代碼 代碼如下:
window.addEventListener('load',function(){
//執行的語句
},false);
5、對象
Javascript的一個重要功能就是物件導向的功能,通過基於對象的程式設計,可以用更直觀、模組化和可重複使用的方式進行程式開發。
一組包含資料的屬性和對屬性中包含資料進行操作的方法,稱為對象。比如要設定網頁的背景顏色,所針對的對象就是document,所用的屬性名稱是bgcolor,如document.bgcolor="blue",就是表示使背景的顏色為藍色。
6、事件
使用者與網頁互動時產生的操作,稱為事件。事件可以由使用者引發,也可能是頁面發生改變,甚至還有你看不見的事件(如Ajax的互動進度改變)。絕大部分事件都由使用者的動作所引發,如:使用者按滑鼠的按鍵,就產生click事件,若滑鼠的指標在連結上移動,就產生mouseover事件等等。在Javascript中,事件往往與事件處理常式配套使用。
而對事件的處理,W3C的方法是用addEventListener()函數,它有三個參數:事件,引發的函數,是否使用事件捕捉。為了安全性,建議將第三個參數始終設定為false;
傳統的方法就是定義元素的on...事件,它就是W3C的方法中的事件參數前加一個“on”。而IE的事件模型使用attachEvent和dettachEvent對事件進行綁定和刪除。javascript中事件還分捕獲和冒泡兩個階段,但是傳統綁定只支援冒泡事件。
7、變數
如 var myVariable = "some value";
變數有它的類型,上例中myVariable的類型為string(字串)
javascript支援的常用類型還有:
object:對象
array:數組
number:數字
boolean:布爾值,只有true和false兩個值,是所有類型中佔用記憶體最少的
null:一個空值,唯一的值是null
undefined:沒有定義和賦值的變數
實際上javascript的變數是弱變數類型,你賦值給他的是字串,他就是String .
是數字他就是整形。是true和false他就是boolean型(注意,不能加引號,不然會被當成字串處理)。
以上就是js基本文法,希望能給大家一個參考,也希望大家多多支援雲棲社區。