2010-08-11 106 views
0

JavaScript新手,我面臨很多問題。這些片段之間有什麼區別?

我閱讀了w3cschools.com上的javascript教程, ,並且我頭上有許多問號。

我不明白什麼是以下區別:

var name=something; 

name=something; 

上面的兩個例子還贈送東西的名稱,爲什麼兩種不同的方式?

name=new Array(); 

name[0]=something0; 

name[1]=something1; 

與開關相同嗎?

//開關啓動

var name=something(); 

switch(something) 

{ 

case 1: 

do something; 

break; 

case 2: 

do something; 

break; 

default: 

do something; 

} 

//if...else開始

var name=something(); 

if (condition) 

{ 

do something 

}; 

else if (condition) 

{ 

do something 

}; 

else 

{ 

do something 

}; 

是什麼開關外殼和else.if之間有什麼不同?

我認爲2都是做同樣的事情?匹配條件,然後做點什麼?

和用於循環,while循環,並打破循環,

兩個3做同樣的事情,但3種不同的方式。

有人能告訴我他們之間有什麼不同嗎?這讓我很迷惑。

請介紹javascript的更多教程。這裏

回答

1

在回答第一個問題時:

var name=something; 

name=something; 

變數名稱

這段代碼創建了一個新的變量,叫名字。它將被稱爲代碼的其餘部分作爲名稱,它已被聲明。

變種名稱=東西

這段代碼假定有它上面稱爲「某物」聲明的變量,並創建名稱變量並給它分配的任何「soemething」在保持該值那個特殊點。

名=東西

沒有初使創建的變量,此行假定變量已經聲明之前,它只是賦予該變量的值或東西。

閱讀

我建議你閱讀本網頁這似乎有很大的introduction to javascript並會回答更多的提問。

+0

不。實例化時,不使用var將變量放入全局範圍而不是本地範圍。這是區別。看到Sachin Shanbhag的回答。 – mraaroncruz 2010-08-11 22:28:36

4

關於第一個問題,

千恩萬謝時,u使用「無功」,它定義了一個局部範圍的變量。當你使用沒有keywork「var」的變量時,這意味着它們是全局變量。通常使用全局變量不是一個好習慣。

同樣在其他IF ELSE部分,你不能在ELSE IF塊之前使用分號。

檢查這些鏈接 -

閱讀所有的JavaScript下文章:http://www.crockford.com/

的JavaScript:與函數語句函數表達式與函數聲明:劃定範圍和提升:http://www.adequatelygood.com/2010/2/JavaScript-Scoping-and-Hoisting

的JavaScript http://yura.thinkweb2.com/named-function-expressions/

0

和一個快速,簡單的回答你的開關問題。交換機通常比重複的其他塊更清晰,更易讀。
你也可以在你的案例中使用正則表達式(case/awesome | radical /:...)。稍後您會明白;)

+0

有沒有人真的'欣賞'正則表達式:) – Paddy 2010-08-11 09:38:44

+0

老兄。我不欣賞他們,我愛他們。我不只是愛他們,我愛他們:P – mraaroncruz 2010-08-11 22:26:01