天天看點

java學習 JavaScript學習心得

java學習 JavaScript學習心得

用java也有段時間了,現在想想當時學這個的時候,也是挺辛苦的,是以成就感油然而生.剛開始學些基礎的,javaweb輕量級軟體開發,當時作為新手而言看的<head first java(第二版·中文版)>這本書,在我覺得這本書還是不錯的,沒有基礎的同學可以在逗逼的氣氛中搞定基礎文法、體會面向對象的思想,有程式設計基礎的同學也會發現原來技術書也可以寫成這樣!厲害了...java是目前最流行的程式設計語言之一——它可以用來編寫windows程式或者是web應用,移動應用,網絡程式,消費電子産品,機頂盒裝置,它無處不在,下面就來說說我在學習的時候遇到的一些問題,簡單談談在下的心得吧!也希望大家多指教了.

其實基礎一些的還好.我想說說javascriptjavascript 是腳本語言,是一種輕量級的程式設計語言,是可插入 html 頁面的程式設計代碼,插入 html 頁面後,可由所有的現代浏覽器執行。javascript 是與 html 和 css 結合運作在浏覽器中,強大且富有表現力的語言。基于一個叫做 ecmascript 的開放标準,javascript 快速的發展成為“網絡的程式設計語言”。jquery 所有的力量都來自于 javascript,是以無需贅言,它是一門值得學習的重要語言。擁有 javascript 的基礎知識,會對了解,建構和調試代碼很有幫助。如果你想學習java可以來這個群,首先是二二零,中間是一四二,最後是九零六,裡面有大量的學習資料可以下載下傳。

java學習 JavaScript學習心得

下面還是列舉一些關于這方面的問題吧,看過之後大家應該也就清楚了

第一個

<code>{a:1}.a</code>報錯,錯誤<code>uncaught syntaxerror: unexpected token .</code>。

解決:

對象字面值不能正确解析

第二個

<code>123.tofixed(2)</code>報錯,錯誤<code>uncaught syntaxerror: unexpected token illegal</code>

數字的點操作符

第三個.

嘗試解釋下連等指派的過程。下面的代碼為什麼是這樣的輸出?

連等指派問題

第四個

下面的代碼傳回什麼,為什麼?

逗号操作符

第五個

parseint傳入數字時為什麼有以下輸出?

parseint傳入數字

java學習 JavaScript學習心得

也不說那麼多了,簡單說這幾個吧,下面給大家分析一下吧

聲明對象字面值時,語句開頭不應該用

{

,因為js解釋器會認為這是語句塊(

block

)的開始。

同理,類似問題

{ name: "mc", id: 1 }

會報錯

uncaught syntaxerror: unexpected token :

也是這個道理。

({ name: "mc", id: 1 })

即可正确解析。但稍注意下,

{name: "mc"}

是不會報錯的,它等同于

name: "mc"

,并傳回一個字元串

"mc"

很簡單,js解釋器會把數字後的

.

當做小數點而不是點操作符。

第三個

我們可以先嘗試交換下連等指派順序(

a = a.x = {n: 2};

),可以發現輸出不變,即順序不影響結果。

那麼現在來解釋對象連等指派的問題:按照es5規範,題中連等指派等價于

a.x = (a = {n: 2});

,按優先擷取左引用(

lref

),然後擷取右引用(

rref

)的順序,

a.x

a

中的a都指向了

{n: 1}

。至此,至關重要或者說最迷惑的一步明确。

(a = {n: 2})

執行完成後,變量

指向

{n: 2}

,并傳回

;接着執行

a.x = {n: 2}

,這裡的

就是

b

(指向

),是以

b.x

就指向了

逗号操作符會從左到右計算它的操作數,傳回最後一個操作數的值。是以

(temp.foo, temp.foo)();

等價于

var fun = temp.foo; fun();

fun

調用時

this

window

,是以傳回20。

parseint(arg)

時會調用

arg.tostring()

到此今天的談論就結束了,雖然說文章不是很詳細,但也希望可以幫到大家