天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

無廢話JavaScript教程(全集)第1/4頁

《程序員》2008.09期有一篇名為《無廢話ErLang》的文章,這讓我想到了許多的諸如“無廢話C”、“無廢話書評”這類的文章,也想到了JavaScript可沒有一篇“無廢話”,所以決定開個篇來寫這個。與這個決定相關的,還因為另一個緣故:許多讀者認為我那本《JavaScript語言精髓與編程實踐》讀來辛苦,所以我一直想寫個簡單的讀本。索性,這次就寫個最簡單的吧。

聲明一下:如果只想看復雜的東西,不要讀這篇文章了。
一、JavaScript最初其實是過程式的
追溯到1.0時代的JavaScript,其實是過程式的。它的基本特性有只有兩項,一項是能夠直接放在網頁的HTML
標簽中去接管事件,例如:
復制代碼 代碼如下:
<input type="button" onclick="alert('hello')">

第二項則是支持一種簡單的對象構造器(函數)。其實這個時代的構造器不如說是初始化函數更合適,它應當
這樣寫:
復制代碼 代碼如下:
function MyObject() {
this.xxx = '...';
this.yyy = '...';
}
obj = new MyObject();

所以,早期的JavaScript無可置疑地背上了“基于對象的過程式腳本語言”的名頭,這一點也不冤枉。除了
上面兩項特性,JavaScript有著一些一般性的腳本語言的性質,例如:
 -整個.js文件一次性裝載到執行環境(例如WEB瀏覽器)中,在經歷一次語法分析之后,開始逐行執行;
 -在上述語法分析周期,(具名的)函數和用"var"聲明的變量被預先處理在一個標識符表中,以便腳本代碼使用;
 -從全局的代碼行或函數調用開始執行,整個過程中執行不到的代碼不被查錯(除第一步中的語法檢錯外)。
也具有通常的過程式語言的性質,例如:
?。衖f/for/while/switch等語句;
?。胒unction來聲明函數,使用"(..)"來聲明它的形式參數表,以及表示函數調用和傳參;
?。愃朴贑語言的基本語法,包括使用"{..}"來表示代碼塊,以及使用"!="等運算符號;
 -一個類似于Java語言的對象操作運算符"."號,和屬性、方法這樣的基本概念。
好了,現在你看到了一個基本的JavaScript語言,它的代碼只有象C一樣的函數與語句行,支持非常簡單的面
向對象編程。OK,這其實也差不多是JavaScript的全部……嗯……全部的語法基礎觀念。如果你用過一門哪怕
稍稍入門一點的程序語言,你都會覺得JavaScript其實挺簡單的。
是啊,“寫個函數,然后調用它”,就這么簡單。例如:
function hi() {
alert('hello, world.');
}
hi();
二、稍微復雜一點的是數據類型
JavaScript有六種基本數據類型,分為兩類。一類是值類型,即undefined,string, number和boolean;一類
是引用類型,即function和object。檢測數據X是何種類型,可以簡單地使用"typeof X"來返回一個字符串。
值類型與引用類型在其它高級語言中,是用“訪問過程中是傳值還是傳引用”來區別的。簡單說,在下面函數
中:
function foo(X) {
}
X傳入的是值本身,還是一個指向該值的引用(你可以想象成指針),表明了X是何種類型。與其它語言不同的
是,JavaScript不在調用入口上加指示字來說明傳值的方法,例如:
function foo(var X) {
// 一般高級語言中,var表明總是傳入變量X的引用
}
而是,簡單的由腳本引擎根據實際傳入的X的數據類型來決定如何傳值。例如:
function foo(X) {
...
}
foo('123'); // <- 字符串'123'值
foo(aObj); // <- aObj是一個對象引用
能這樣處理的關鍵,在于JavaScript類型系統足夠簡潔。六種基本類型包括了三個哲學化的觀念:能執行的
與不能執行的;對象或非對象;有(值)或無(值)。顯然,理解這種哲學性的思想并不容易,因為更復雜一層
的、自包含的邏輯是:函數也是對象、值也是對象、無值也是值。
這就是JavaScript類型系統的全部了。如果你想簡單的用用,那么你記住下面的就夠了:
?。璼tring、number、boolean三種簡單值類型是用來傳給網頁顯示的;
 -object用來存放其它的object、funtion或上述簡單值類型,并用'.'運算通過一個屬性名找到它們;
?。璾ndefined是用來檢測數據有效無效的;
?。璮unction是用來執行的。
當然,如果你要成為思想家或者語言學的瘋子,那么去思考上面的哲學化命題吧,我不攔著你。
三、能用鼻子想通的就是直接量了
或許很多人都搞不明白JavaScript中的直接量聲明,然而它確實是非常簡單的。既然我們大多數高級語言都
支持常量聲明,甚至最原始的匯編語言也支持立即值――例如:
// in C
#define ABYTE 256
// in delphi
const
ABYTE = 256
; in asm
mov ah, 256

JavaScript技術無廢話JavaScript教程(全集)第1/4頁,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 欧美人与动牲交XXXXBBBB免费 | 亚洲精品高清AV在线播放 | 亚洲综合小说久久另类区 | jyzzjyzzz视频国产在线观看 | 国产精品久久久久久52AVAV | 久见久热 这里只有精品 | 粉嫩自拍 偷拍 亚洲 | 大学生宿舍飞机china free | 国内精品自产拍在线少密芽 | 为什么丈夫插我我却喜欢被打着插 | 久久观看视频 | 啊…嗯啊好深男男小黄文 | 98久久人妻少妇激情啪啪 | 乱爱性全过程免费视频 | 好男人在线观看视频观看高清视频免费 | 国产高清精品自在久久 | 成人在线免费视频播放 | 24小时日本免费看 | 97精品国产自产在线观看永久 | 国产精品无码人妻99999 | 国产精品免费观看视频 | 日韩人妻无码专区一本二本 | 国产欧美在线亚洲一区刘亦菲 | 世界上第一个得抑郁症的人是谁 | 午夜视频在线瓜伦 | 妖精视频一区二区免费 | 青青伊人精品 | 欧美日韩视频一区二区三区 | 午夜亚洲国产理论片二级港台二级 | 亚洲高清中文字幕 | 在线观看日本免费 | 日日a.v拍夜夜添久久免费 | jizz黑丝| 黄色片软件大全 | 肉肉描写很细致的黄文 | 97人妻在线公开视频在线观看 | 中国老头oldday tv | 国产乱色伦影片在线观看 | 国产精品国产三级国产an | 大胸美女裸身色诱网站 | 日本高清不卡码无码v亚洲 日本福利片午夜免费观着 日本粉嫩学生毛绒绒 |