今天入手了傳說中的JS紅寶書,嗯……其實是借的。我掐着時間都算好了,現在借的話,只需要續借一次,然后整個暑假都不用還了,不然這么厚一本怎么看得完呢。
《JavaScript入門經典》,紅皮兒的,相當厚。我借到的是09年的第三版,不知現在出到第幾版了。
1.1.1的內容讓我想起了我學了一天就沒學下去的編譯原理……哦,這是題外話。
1.1.4
通常,我們使用JS與用戶進行交互,獲取用戶輸入的信息,以及對數據進行校驗。
讀到這里,書里已經好幾次出現了"腳本"這個詞,對於我這個喜歡咬文嚼字的人來說,對這個詞已經頗有成見多年,總是看到這個詞,卻不明白"腳本"這個翻譯到底是怎么翻譯的。
於是先去翻翻"腳本"的漢語解釋:"表演戲劇、曲藝,攝制電影等所依據的本子。"
Script的英語解釋是:a written version of a play or other dramatic composition; used in preparing for a performance。一個演出或戲劇的文字版本,用來為演繹做准備。
在計算機的世界里,演繹就是執行,這么一來"腳本"的意思就顯得很容易理解了。
1.2
它還在講IE7……我深深覺得我已經被時代遠遠拋棄了
1.3
<script>標記具有一些屬性,其中最重要的屬性是type屬性。JS並不是唯一可用的腳本語言,不同的腳本語言有不同的處理方式,所以我們需要告訴瀏覽器,在當前頁面中我們所使用的是何種腳本語言,以便瀏覽器正確地作出處理。使用了type屬性的<script>標記具有如下的形式:
<script type="text/javascript">
也可以省略type屬性,因為大部分瀏覽器都把JS作為默認腳本語言。
我都准備好吐槽"第一個程序果然又是Hello world!"了,可是一路看下來,竟然不是,第一個程序它是要你改頁面背景色為紅色。
代碼如下:
<html> <body BGCOLOR="WHITE"> <p>Paragraph 1</p> <script type="text/javascript"> document.bgColor="RED"; </script> </body> </html>
這不試不知道,一試嚇一跳,我剛開始還想着就這么跳過了,這么簡單的代碼就不運行了,結果一折騰……
尼瑪背景為毛是黑色的?!
看來是IE11的內核問題,於是我又轉向了Nitro瀏覽器。
尼瑪背景怎么又是藍色的了?背景不是應該是紅色的嗎?紅色的啊妹!操蛋!
我百思不得其解,差點就對紅寶書失去信心了,畢竟實踐是檢驗真理的唯一標准,現在這一上來實踐就發現結果和紅寶書講的不一樣,這這這,要我怎么學下去呢?
我憤慨地告訴網友這個事情,網友看了看我發給他的代碼,回道:
“同學,你的標點,打錯了。”
$%……&¥%@#¥/+-¥%@#Q/**/
還是一如既往地粗心啊……中英文標點切換就是麻煩
然而我還是有一個問題,就是WHITE和RED這類詞,都需要大寫嗎?要是小寫會怎么樣,於是我又嘗試了一下。
……現在看來,至少在顏色名詞上,大小寫是沒有區別的。WHITE可以寫成white,RED也可以寫成red
第二個程序是代碼的執行順序,說是為了對頁面解析的順序做進一步的說明,將上面的實例擴展一下,代碼如下:
<html> <body BGCOLOR="WHITE"> <p>Paragraph 1</p> <script type="text/javascript"> //Script block 1 alert("First Script Block"); </script> <p>Paragraph 2</p> <script type="text/javascript"> //Script block 2 document.bgColor="RED"; alert("Second Script Block"); </script> <b>Paragraph</b> </body> </html>
這段代碼是用Sublime寫的……這是我第一次用它,記錄在這里來紀念一下。之前我一直用記事本來着,覺得Sublime真是太好用了,改天一定好好研究一下它的使用技巧。
然后這一段代碼在IE和Nitro上的表現截然不同。IE上的執行順序和紅寶書介紹的一致,也就是先顯示Paragraph 1,同時彈出第一個消息框。單擊OK,然后背景變紅,顯示出Paragragh 2,彈出第二個消息框,單擊第二個消息框的OK,Paragraph 3被顯示出來。
而Nitro上,顯示一片白色背景,彈出一個我點掉一個,再彈出一個我再點掉一個,這個時候,Paragraph 1 Paragraph 2 Paragraph 3才同時顯示出來,同時背景變成紅色。
Nitro瀏覽器的參數如下:
Maxthon Nitro 1.0.0.3000
OS Windows
Blink 537.36 (@167448)
JavaScript V8 3.24.35
Chorme瀏覽器的執行機制似乎也和IE不同,但我電腦上沒裝這么多瀏覽器,所以暫未可知。