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