網(wǎng)易微專業(yè)之《前端工程師》學(xué)習(xí)筆記(9)-JS基礎(chǔ)語法

這篇是講JavaScript的基礎(chǔ)的一些小雜項知識點票腰。

JavaScript里有個叫標(biāo)識符的概念城看,標(biāo)識符是指變量、函數(shù)杏慰、屬性的名字测柠,或者函數(shù)的參數(shù)。

01.標(biāo)識符的命名規(guī)范

  • 以字母缘滥、下劃線轰胁、或美元($)符號開頭。
  • 由字母朝扼、下劃線软吐、美元符號或數(shù)字組成。
  • 不能使用JS的關(guān)鍵字或保留字吟税,如果發(fā)現(xiàn)滿足上述兩個條件凹耙,但是卻報錯了,很可能是這第三條沖突了肠仪。

那么JS的關(guān)鍵字有哪些呢肖抱?看下面的兩張表格,在命名的時候千萬不能用這表格里的名字給標(biāo)識符命名异旧。

break do instanceof typeof
case else new var
catch finally return void
continue for switch while
debugger function this with
default if throw delete
in try

保留字有這些意述。

abstract enum int short
boolean export interface static
byte extends long super
Char final native synchronized
Class float package throws
Const goto private transient
debugger implements protected volatile
double import public

02.JS語法中標(biāo)識符是區(qū)分大小寫的。

這也就是說變量名test和變量名Test是分別代表兩個不同的變量吮蛹。

03.JS中特殊值

  • NaN:表示不是一個數(shù)字荤崇。這個數(shù)值用于表示一個本來要返回數(shù)值的操作數(shù)未返回數(shù)值的情況。NaN有兩個非同尋常的特點:首先潮针,任何涉及NaN的操作(例如NaN/10)都會返回NaN术荤;其次,NaN與任何值都不相等每篷,包括NaN本身瓣戚。為此ECMAScript定義了isNaN()函數(shù)來幫我們確定括號中傳的參數(shù)是否“不是數(shù)值”。這個函數(shù)返回布爾值焦读,true表示非數(shù)值子库,false表示是數(shù)值。
  • Infinity:number類型的無限矗晃。
  • Null:一般應(yīng)用場景就是表示空對象仑嗅,即對象不存在。從邏輯上來講张症,null值表示一個空對象的指針仓技。這也是為什么用typeof檢測的時候,它會返回“object”的原因吠冤。
  • Undefined:出現(xiàn)場景有兩個浑彰,一是已聲明未賦值的變量,二獲取對象不存在的屬性時拯辙。

04.JS的注釋和CSS一樣

JS的注釋和CSS一樣郭变,有單行注釋和多行注釋。

//單行注釋

/*

多行注釋
*/

05.用typeof操作符判斷檢測給定變量的數(shù)據(jù)類型

用法如下面這樣:

var num;
typeof num;//undefined

var message="some string";
alert(typeof message);//"string"

對一個值使用typeof操作符可能會返回下列某個字符串:

  • “undefined”:表示這個值未定義涯保;
  • “boolean”:表示這個值是布爾值诉濒;
  • “string”:表示這個值是字符串;
  • “number”:表示這個值是數(shù)值夕春;
  • “object”:表示這個值是對象或null未荒;
  • “function”:表示這個值是函數(shù);

06.JS的語法

JavaScript所提供的語句語法分為以下幾大類:

(1)變量聲明及志,賦值語句:var片排。

語法如下:

 var 變量名稱 [=初始值]   
 例:var computer = 32 //定義computer是一個變量寨腔,且有初值為32。

( 2)函數(shù)定義語句:function率寡,return迫卢。

語法如下:

 function 函數(shù)名稱 (函數(shù)所帶的參數(shù)){          

 函數(shù)執(zhí)行部分   
 
return 表達(dá)式 //return語句指明將返回的值∫惫玻      
} 
    

例:function square ( x )  {       
 return x*x;      
 }

(3)條件和分支語句:if...else乾蛤,switch。

if...else語句完成了程序流程塊中分支功能:如果其中的條件成立捅僵,則程序執(zhí)行緊接著條件的語句或語句塊家卖;否則程序執(zhí)行else中的語句或語句塊。

語法如下:

if (條件) {            

     執(zhí)行語句1           

}else{             

    執(zhí)行語句2 

}     

 例:

if (result == true) {    
       
    response = “你答對了庙楚!” ;        

}else{           

response = “你錯了上荡!”;          

}    

分支語句switch可以根據(jù)一個變量的不同取值采取不同的處理方法。
語法如下:

switch (表達(dá)式)  {          
case 條件1: 
語句段1醋奠;          
case 條件2: 
語句段2榛臼;         
case 條件3: 
語句段3;             
...          
default: 
語句段3窜司;         
} 

例如:

var _param1=60;
switch(_param1){
 
case 60:
window.alert("及格沛善!");
break;
case 80:
window.alert("良好!");
break;
case 90:
window.alert("優(yōu)秀塞祈!");
break;
case 100:
window.alert("滿分金刁!");
break;
default:
window.alert("沒有分?jǐn)?shù)!");
break;

}


如果表達(dá)式取的值同程序中提供的任何一條語句都不匹配议薪,將執(zhí)行default中的語句尤蛮。
   
(4)循環(huán)語句:for, for...in斯议,while,break,continue产捞。

1、for語句的語法如下:

 for (初始化部分哼御;條件部分坯临;更新部分){                  

執(zhí)行代碼段部分...                 

} 

例如:

var sum=0;
for(var i=1;i<51;i++){
sum +=i;
}

alert(sum);//1275    

只要循環(huán)的條件成立,循環(huán)體就被反復(fù)的執(zhí)行恋昼。

2看靠、for...in語句與for語句有一點不同,它循環(huán)的范圍是一個對象所有的屬性或是一個數(shù)組的所有元素液肌。

for...in語句的語法如下:

 for (變量 in 對象或數(shù)組) {                    

語句...                   

} 

例如:
//創(chuàng)建具有某些屬性的對象
var myObject=new Object();
myObject.name="張三";
myObject.age="22";
myObject.phone="65658888"
//循環(huán)枚舉對象的所有屬性
for(prop in myObject){
//顯示所有屬性
window.alert("屬性"+prop+"的值為"+myObject[prop]);
}

3.while語句所控制的循環(huán)不斷的測試條件挟炬,如果條件始終成立,則一直循環(huán),直到條件不再成立谤祖。     
 
語法如下:


 while (條件) {              

執(zhí)行語句...             

}

例如:

var i=0;
while(i<10){
   i+=2;

}

4.break語句結(jié)束當(dāng)前的各種循環(huán)婿滓,并執(zhí)行循環(huán)的下一條語句。continue語句結(jié)束當(dāng)前的循環(huán)泊脐,并馬上開始下一個循環(huán)空幻。

(5)對象操作語句:with,new容客,this。

1约郁、with語句

with語句的語法如下:              

with (對象名稱){
 執(zhí)行語句                      
}     

with語句的例子是這樣的

var qs=location.search.substring(1);
var hostName=location.hostname;
var url=location.href;

上面的幾行代碼都包含location對象缩挑,如果使用with語句,可以把上面的代碼改寫成:

with(location){
     var qs=search.substring(1);
    var hostName=hostname;
   var url=href;

}

作用是這樣的:如果你想使用某個對象的許多屬性或方法時鬓梅,只要在with語句的()中寫出這個對象的名稱供置,然后在下面的執(zhí)行語句中直接寫這個對象的屬性名或方法名就可以了。

2绽快、new語句是一種對象構(gòu)造器芥丧,可以用new語句來定義一個新對象。
語法是這樣的:

新對象名稱= new 真正的對象名 

譬如說坊罢,我們可以這樣定義一個新的日期對象:

var curr= new Date()

然后续担,變量curr就具有了Date對象的屬性。
    
3活孩、this運算符總是指向當(dāng)前的對象物遇。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市憾儒,隨后出現(xiàn)的幾起案子询兴,更是在濱河造成了極大的恐慌,老刑警劉巖起趾,帶你破解...
    沈念sama閱讀 217,907評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件诗舰,死亡現(xiàn)場離奇詭異,居然都是意外死亡训裆,警方通過查閱死者的電腦和手機(jī)眶根,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,987評論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來缭保,“玉大人汛闸,你說我怎么就攤上這事∫章睿” “怎么了诸老?”我有些...
    開封第一講書人閱讀 164,298評論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經(jīng)常有香客問我别伏,道長蹄衷,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,586評論 1 293
  • 正文 為了忘掉前任厘肮,我火速辦了婚禮愧口,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘类茂。我一直安慰自己耍属,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 67,633評論 6 392
  • 文/花漫 我一把揭開白布巩检。 她就那樣靜靜地躺著厚骗,像睡著了一般。 火紅的嫁衣襯著肌膚如雪兢哭。 梳的紋絲不亂的頭發(fā)上领舰,一...
    開封第一講書人閱讀 51,488評論 1 302
  • 那天,我揣著相機(jī)與錄音迟螺,去河邊找鬼冲秽。 笑死,一個胖子當(dāng)著我的面吹牛矩父,可吹牛的內(nèi)容都是我干的锉桑。 我是一名探鬼主播,決...
    沈念sama閱讀 40,275評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼浙垫,長吁一口氣:“原來是場噩夢啊……” “哼刨仑!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起夹姥,我...
    開封第一講書人閱讀 39,176評論 0 276
  • 序言:老撾萬榮一對情侶失蹤杉武,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后辙售,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體轻抱,經(jīng)...
    沈念sama閱讀 45,619評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,819評論 3 336
  • 正文 我和宋清朗相戀三年旦部,在試婚紗的時候發(fā)現(xiàn)自己被綠了祈搜。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,932評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡士八,死狀恐怖容燕,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情婚度,我是刑警寧澤蘸秘,帶...
    沈念sama閱讀 35,655評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響醋虏,放射性物質(zhì)發(fā)生泄漏寻咒。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,265評論 3 329
  • 文/蒙蒙 一颈嚼、第九天 我趴在偏房一處隱蔽的房頂上張望毛秘。 院中可真熱鬧,春花似錦阻课、人聲如沸叫挟。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,871評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽霞揉。三九已至,卻和暖如春晰骑,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背绊序。 一陣腳步聲響...
    開封第一講書人閱讀 32,994評論 1 269
  • 我被黑心中介騙來泰國打工硕舆, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人骤公。 一個月前我還...
    沈念sama閱讀 48,095評論 3 370
  • 正文 我出身青樓抚官,卻偏偏與公主長得像,于是被迫代替她去往敵國和親阶捆。 傳聞我的和親對象是個殘疾皇子凌节,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,884評論 2 354

推薦閱讀更多精彩內(nèi)容