語法基礎(chǔ)

js語法基本沿襲了c的語法特點(diǎn),如果學(xué)過c的朋友來開發(fā)js是非常容易入門的

  • 變量/常量
   const a = 100; //定義常量,不可變,強(qiáng)制更改會報(bào)錯,另一種實(shí)現(xiàn)方式是閉包,請看javascript進(jìn)階篇里的閉包
   var b = 'bob'; //定義變量,通過var可以定義任意類型(目前是這樣的哈)
   typeof(b); //輸出string,typeof方法是系統(tǒng)內(nèi)置函數(shù),用來檢測變量類型
  • 定義變量可以通過var 來定義,同時可以不用寫var 直接用 c=true,區(qū)別在于前者是局部變量,后者是全局變量,我們提倡全部使用var來定義,這樣不會對變量環(huán)境造成污染,如果你想定義一個全局變量,可以寫在函數(shù)(函數(shù)下面會講解)外面,或在js模塊的開始定義。

  • 數(shù)據(jù)類型
數(shù)據(jù)類型 含義
string 字符串
boolean 布爾true/false
number 數(shù)字
array 數(shù)組
object 對象
undefined 未定義 對象不含有值
null 空值
  • 操作實(shí)例
var str = 'hello'; //定義字符串
var str1 = str + 'world' //字符串拼接 輸出 helloworld
var bol = true; //定義布爾類型變量
typeof(bol);  //輸出變量類型boolean
var num = 10; //定義num數(shù)字變量
var num1 = num - 5.5; //數(shù)字變量操作,輸出4.5 ,num整型會自動轉(zhuǎn)化為浮點(diǎn)類型
var arr = ['he','llo','world','!']; //定義數(shù)組
arr1=arr.join('');  //數(shù)組拼接 輸出helloworld!
var obj = {'name':'bob','sex':'1'} //定義對象object
console.log(obj.name); //輸出bob
document.write(obj['sex']); 輸出1

  • 運(yùn)算符
運(yùn)算符 含義
+ 加號,數(shù)學(xué)運(yùn)算和字符串連接符
- 減號,位于字符串前可將字符串類型轉(zhuǎn)換為數(shù)字(取反)
*
/
% 取余
++ 自加
-- 自減
= 賦值
+= 符號左邊元素等于符號左邊元素加上右邊元素,可用于數(shù)值和字符串
-= 符號左邊元素等于符號左邊元素減去右邊元素,數(shù)值運(yùn)算
*= 符號左邊元素等于符號左邊元素乘右邊元素
/= 符號左邊元素等于符號左邊元素除右邊元素
%= 符號左邊元素等于符號左邊元素對右邊元素取余
delete 運(yùn)算符刪除對以前定義的對象屬性或方法的引用
void 運(yùn)算符對任何值返回 undefined,用于避免輸出不應(yīng)該輸出的值
位運(yùn)算符 NOT
& 位運(yùn)算符 AND
豎杠(編輯器原因) 位運(yùn)算符 OR
^ XOR 當(dāng)前為兩個不同為1
<< 左移運(yùn)算 1<<10 = 1024
>> 有符號右移
>>> 無符號右移
!
&& AND 并且
雙豎杠 OR 或者
> 大于
< 小于
>= 大于等于
<= 小于等于
== 當(dāng)且僅當(dāng)兩個運(yùn)算數(shù)相等時,它返回 true (如果類型不同則轉(zhuǎn)換)
!= 當(dāng)且僅當(dāng)兩個運(yùn)算數(shù)不相等時,它返回 true (如果類型不同則轉(zhuǎn)換)
=== 當(dāng)且僅當(dāng)兩個運(yùn)算數(shù)相等并且類型相同時,它返回 true ,不做類型轉(zhuǎn)換
b?c:d 如果b成立則執(zhí)行c,否則執(zhí)行d
* 運(yùn)算符不做過多案例,下面的文章中都會慢慢滲透

  • 條件判斷IF-ELSE
var _a = 2; //定義一個變量_a
if(_a=1){   
    document.write(_a) //如果_a的值是1,則輸出1
}else{
    _a=1;  
   docuement.write('change!') //如果不是1,則把_a的值設(shè)為1,并輸出change!
}
//當(dāng)然else if(){}在多種條件并存的情況下就有用武之地了~

  • switch-case條件判斷語句和if-else語句都可以用來做條件判斷使用,if-else的使用范圍更廣,同時也更常用一些。而switch-case語句在特定條件下使用可以使文檔脈絡(luò)更加清晰。
var day=new Date().getDay();
switch (day)
{
case 0:
  x="Today it's Sunday";
  break;
case 1:
  x="Today it's Monday";
  break;
case 2:
  x="Today it's Tuesday";
  break;
case 3:
  x="Today it's Wednesday";
  break;
case 4:
  x="Today it's Thursday";
  break;
case 5:
  x="Today it's Friday";
  break;
case 6:
  x="Today it's Saturday";
  break;
}
//這里從W3C上找來一個例子,在我經(jīng)歷過的項(xiàng)目中,使用switch來做條件判斷的真不多。

  • 循環(huán)遍歷
    • for 循環(huán) (a,b,c) a語句為循環(huán)開始前定義,b是循環(huán)運(yùn)行條件,c是代碼塊執(zhí)行一次后運(yùn)行代碼
var count=0;   //定義變量count,用于存儲和
for(var i =0;i<=10;i++){   //定義開始條件i=0;循環(huán)運(yùn)行條件i<=10;代碼塊執(zhí)行一次后運(yùn)行代碼i++;
   count+=i;  //求和 0-10
}
document.write(count);  //輸出0-10 的和
  • for-in循環(huán),一般用于遍歷json對象
var _list=[{'name':'bob','sex':'1'},{'name':'lisa','sex':'0'}];   //定義一個json數(shù)組
for(x in _list){      
   document.write(x['name']);  //遍歷數(shù)組,輸出對象的名字
}
  • while 循環(huán),一般用于單條件
var x=0;                 //同樣使用for循環(huán)的例子,求0-10的和
var count=0;
while(x<11){
    count+=x;
    x+=1;
}
  • do-while 循環(huán),和while相同,只是無論條件是否成立,都執(zhí)行一次代碼塊
var x=0,count=0;
do{                          //同樣使用for循環(huán)的例子,求0-10的和,但先執(zhí)行do模塊,然后再判斷while條件。
  count+=x;
    x+=1;
}while(x<11);

  • try-catch-finally 錯誤捕捉,我們不能說優(yōu)秀的程序員都會用,但我認(rèn)為嚴(yán)謹(jǐn)?shù)脑秤蒙线€是靠譜的。
try{
    //TODO something               業(yè)務(wù)邏輯都寫在這里面
}catch(e){
     //當(dāng)然這里也是可以執(zhí)行代碼的
     console.log('報(bào)錯啦:'+e);
}finally{
    //去做你想做的事,誰也阻擋不了你
    console.log('我在最后執(zhí)行,無論上面是否捕捉到錯誤~');
}

看到這里應(yīng)該可以搞些事情了。。。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容