java學習 JavaScript學習心得
用Java也有段時間了,現在想想當時學這個的時候,也是挺辛苦的,所以成就感油然而生.剛開始學些基礎的,Javaweb輕量級軟體開發,當時作為新手而言看的這本書,在我覺得這本書還是不錯的,沒有基礎的同學可以在逗逼的氣氛中搞定基礎語法、體會面向對象的思想,有編程基礎的同學也會發現原來技術書也可以寫成這樣!厲害了...Java是目前最流行的編程語言之一——它可以用來編寫Windows程序或者是Web應用,移動應用,網路程序,消費電子產品,機頂盒設備,它無處不在,下面就來說說我在學習的時候遇到的一些問題,簡單談談在下的心得吧!也希望大家多指教了.
其實基礎一些的還好.我想說說JavaScriptJavaScript 是腳本語言,是一種輕量級的編程語言,是可插入 HTML 頁面的編程代碼,插入 HTML 頁面後,可由所有的現代瀏覽器執行。JavaScript 是與 HTML 和 CSS 結合運行在瀏覽器中,強大且富有表現力的語言。基於一個叫做 ECMAScript 的開放標準,JavaScript 快速的發展成為「網路的編程語言」。jQuery 所有的力量都來自於 JavaScript,所以無需贅言,它是一門值得學習的重要語言。擁有 JavaScript 的基礎知識,會對理解,構建和調試代碼很有幫助。
下面還是列舉一些關於這方面的問題吧,看過之後大家應該也就清楚了
第一個
報錯,錯誤。
解決:
(.a) // 或().a
對象字面值不能正確解析
第二個
報錯,錯誤
解決:
(123).toFixed(2) // >> "123.00"// 以下兩種都可以,但完全不推薦123..toFixed(2)123 .toFixed(2)
數字的點操作符
第三個.
嘗試解釋下連等賦值的過程。下面的代碼為什麼是這樣的輸出?
var a = ;var b = a; a.x= a = ;console.log(a.x);// --> undefinedconsole.log(b.x);// -->
連等賦值問題
第四個
下面的代碼返回什麼,為什麼?
逗號操作符
第五個
parseInt傳入數字時為什麼有以下輸出?
parseInt(0.000008) // >> 0parseInt(0.0000008) // >> 8
parseInt傳入數字
也不說那麼多了,簡單說這幾個吧,下面給大家分析一下吧
第一個
聲明對象字面值時,語句開頭不應該用
{
,因為js解釋器會認為這是語句塊(
block
)的開始。
同理,類似問題
{ name: "mc", id: 1 }
會報錯
Uncaught SyntaxError: Unexpected token :
也是這個道理。
({ name: "mc", id: 1 })
即可正確解析。但稍注意下,
是不會報錯的,它等同於
name: "mc"
,並返回一個字元串
"mc"
。
第二個
很簡單,js解釋器會把數字後的
.
當做小數點而不是點操作符。
第三個
我們可以先嘗試交換下連等賦值順序(
a = a.x = ;
),可以發現輸出不變,即順序不影響結果。
那麼現在來解釋對象連等賦值的問題:按照es5規範,題中連等賦值等價於
a.x = (a = );
,按優先獲取左引用(
lref
),然後獲取右引用(
rref
)的順序,
a.x
和
a
中的a都指向了
。至此,至關重要或者說最迷惑的一步明確。
(a = )
執行完成後,變數
a
指向
,並返回
;接著執行
a.x =
,這裡的
a
就是
b
(指向
),所以
b.x
就指向了
。
第四個
逗號操作符會從左到右計算它的操作數,返回最後一個操作數的值。所以
(temp.foo, temp.foo)();
等價於
var fun = temp.foo; fun();
,
fun
調用時
this
指向
window
,所以返回20。
第五個
parseInt(arg)
時會調用
arg.toString()
。
(0.000008).toString() // "0.000008"(0.0000008).toString() // "8e-7"
到此今天的談論就結束了,雖然說文章不是很詳細,但也希望可以幫到大家


※高級java程序員必備的面試官常問的知識
※Spring MVC異常處理詳解
※Java 小白比較關心的幾個問題
※畢業迷茫?java如何輕鬆高薪就業
※Java入門第二季6.1項目代碼
TAG:java學習吧 |
※學習篇/Jimmy Kimmel and Oscars Stars Surprise Moviegoers
※學習通分的遊戲:Fraction Formula Game
※Python爬蟲學習Scrapy之Spiders
※遷移學習之Domain Adaptation
※Reliance Industries收購印度個性化學習平台Embibe
※機器學習與Scikit Learn學習庫
※英語學習 Routemaster—London double-deck bus
※RocketMQ 源碼學習 2 : Namesrv
※強化學習 2 Markov Decision Process 馬可夫決策過程
※scikit-learn機器學習初體驗
※Spring Boot 入門學習
※基於對比學習的Image Captioning
※深度學習之CapsuleNets理論與Python實踐!
※學習Blockchain的應用場景
※關於利用 information bottleneck 來解釋深度學習
※python小白學習之anaconda的安裝與Jupyter環境配置
※機器學習基石-The Learning Problem
※Facebook發布Tensor Comprehensions:自動編譯高性能機器學習核心的C+庫
※python大師教你如何學習Requests
※真實全景圖像強化學習 AI 平台——Matterport3DSimulator