JavaScript數(shù)據(jù)結(jié)構(gòu)與算法教程高清免費(fèi)版是一款非常不錯(cuò)的計(jì)算機(jī)學(xué)習(xí)編程類(lèi)的相關(guān)書(shū)籍,在這里有最全的JavaScript講解,并且講解非常的獨(dú)特,非常不錯(cuò),快點(diǎn)來(lái)試試吧。
關(guān)于JavaScript數(shù)據(jù)
知道如何用自己熟悉的語(yǔ)言實(shí)現(xiàn)常用數(shù)據(jù)結(jié)構(gòu)和算法,對(duì)非科班出身的人是有益的。
如果通過(guò)看這本書(shū),能夠讓自己對(duì)系統(tǒng)學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)和算法產(chǎn)生興趣,那它的目的就達(dá)到了。
對(duì)這樣一本書(shū),不必過(guò)分苛求,當(dāng)然也無(wú)需寄予過(guò)多期望。
如果讀者熟悉JavaScript,那從它入手,不管是管窺到數(shù)據(jù)結(jié)構(gòu)和算法的美妙,還是由此登堂入室,都是有意義的。
JavaScript介紹
組成部分
ECMAScript,描述了該語(yǔ)
言的語(yǔ)法和基本對(duì)象。
文檔對(duì)象模型(DOM),描述處理網(wǎng)頁(yè)內(nèi)容的方法和接口。
瀏覽器對(duì)象模型(BOM),描述與瀏覽器進(jìn)行交互的方法和接口。
基本特點(diǎn)
JavaScript是一種屬于網(wǎng)絡(luò)的腳本語(yǔ)言,已經(jīng)被廣泛用于Web應(yīng)用開(kāi)發(fā),常用來(lái)為網(wǎng)頁(yè)添加各式各樣的動(dòng)態(tài)功能,為用戶(hù)提供更流暢美觀的瀏覽效果。通常JavaScript腳本是通過(guò)嵌入在HTML中來(lái)實(shí)現(xiàn)自身的功能的。
是一種解釋性腳本語(yǔ)言(代碼不進(jìn)行預(yù)編譯)。
主要用來(lái)向HTML(標(biāo)準(zhǔn)通用標(biāo)記語(yǔ)言下的一個(gè)應(yīng)用)頁(yè)面添加交互行為。
可以直接嵌入HTML頁(yè)面,但寫(xiě)成單獨(dú)的js文件有利于結(jié)構(gòu)和行為的分離。
跨平臺(tái)特性,在絕大多數(shù)瀏覽器的支持下,可以在多種平臺(tái)下運(yùn)行(如Windows、Linux、Mac、Android、iOS等)。
Javascript腳本語(yǔ)言同其他語(yǔ)言一樣,有它自身的基本數(shù)據(jù)類(lèi)型,表達(dá)式和算術(shù)運(yùn)算符及程序的基本程序框架。Javascript提供了四種基本的數(shù)據(jù)類(lèi)型和兩種特殊數(shù)據(jù)類(lèi)型用來(lái)處理數(shù)據(jù)和文字。而變量提供存放信息的地方,表達(dá)式則可以完成較復(fù)雜的信息處理。
日常用途
嵌入動(dòng)態(tài)文本于HTML頁(yè)面。
對(duì)瀏覽器事件做出響應(yīng)。
讀寫(xiě)HTML元素。
在數(shù)據(jù)被提交到服務(wù)器之前驗(yàn)證數(shù)據(jù)。
檢測(cè)訪客的瀏覽器信息。
控制cookies,包括創(chuàng)建和修改等。
基于Node.js技術(shù)進(jìn)行服務(wù)器端編程。
歷史
它最初由Netscape的BrendanEich設(shè)計(jì)。JavaScript是甲骨文公司的注冊(cè)商標(biāo)。Ecma國(guó)際以JavaScript為基礎(chǔ)制定了ECMAScript標(biāo)準(zhǔn)。JavaScript也可以用于其他場(chǎng)合,如服務(wù)器端編程。完整的JavaScript實(shí)現(xiàn)包含三個(gè)部分:ECMAScript,文檔對(duì)象模型,瀏覽器對(duì)象模型。
Netscape在最初將其腳本語(yǔ)言命名為L(zhǎng)iveScript,后來(lái)Netscape在與Sun合作之后將其改名為JavaScript。JavaScript最初受Java啟發(fā)而開(kāi)始設(shè)計(jì)的,目的之一就是“看上去像Java”,因此語(yǔ)法上有類(lèi)似之處,一些名稱(chēng)和命名規(guī)范也借自Java。但JavaScript的主要設(shè)計(jì)原則源自Self和Scheme。JavaScript與Java名稱(chēng)上的近似,是當(dāng)時(shí)Netscape為了營(yíng)銷(xiāo)考慮與Sun微系統(tǒng)達(dá)成協(xié)議的結(jié)果。為了取得技術(shù)優(yōu)勢(shì),微軟推出了JScript來(lái)迎戰(zhàn)JavaScript的腳本語(yǔ)言。為了互用性,Ecma國(guó)際(前身為歐洲計(jì)算機(jī)制造商協(xié)會(huì))創(chuàng)建了ECMA-262標(biāo)準(zhǔn)(ECMAScript)。兩者都屬于ECMAScript的實(shí)現(xiàn)。盡管JavaScript作為給非程序人員的腳本語(yǔ)言,而非作為給程序人員的腳本語(yǔ)言來(lái)推廣和宣傳,但是JavaScript具有非常豐富的特性。
發(fā)展初期,JavaScript的標(biāo)準(zhǔn)并未確定,同期有Netscape的JavaScript,微軟的JScript和CEnvi的ScriptEase三足鼎立。1997年,在ECMA(歐洲計(jì)算機(jī)制造商協(xié)會(huì))的協(xié)調(diào)下,由Netscape、Sun、微軟、Borland組成的工作組確定統(tǒng)一標(biāo)準(zhǔn):ECMA-262。
特性
JavaScript腳本語(yǔ)言具有以下特點(diǎn):
(1)腳本語(yǔ)言。JavaScript是一種解釋型的腳本語(yǔ)言,C、C++等語(yǔ)言先編譯后執(zhí)行,而JavaScript是在程序的運(yùn)行過(guò)程中逐行進(jìn)行解釋。
(2)基于對(duì)象。JavaScript是一種基于對(duì)象的腳本語(yǔ)言,它不僅可以創(chuàng)建對(duì)象,也能使用現(xiàn)有的對(duì)象。
(3)簡(jiǎn)單。JavaScript語(yǔ)言中采用的是弱類(lèi)型的變量類(lèi)型,對(duì)使用的數(shù)據(jù)類(lèi)型未做出嚴(yán)格的要求,是基于Java基本語(yǔ)句和控制的腳本語(yǔ)言,其設(shè)計(jì)簡(jiǎn)單緊湊。
(4)動(dòng)態(tài)性。JavaScript是一種采用事件驅(qū)動(dòng)的腳本語(yǔ)言,它不需要經(jīng)過(guò)Web服務(wù)器就可以對(duì)用戶(hù)的輸入做出響應(yīng)。在訪問(wèn)一個(gè)網(wǎng)頁(yè)時(shí),鼠標(biāo)在網(wǎng)頁(yè)中進(jìn)行鼠標(biāo)點(diǎn)擊或上下移、窗口移動(dòng)等操作JavaScript都可直接對(duì)這些事件給出相應(yīng)的響應(yīng)。
(5)跨平臺(tái)性。JavaScript腳本語(yǔ)言不依賴(lài)于操作系統(tǒng),僅需要瀏覽器的支持。因此一個(gè)JavaScript腳本在編寫(xiě)后可以帶到任意機(jī)器上使用,前提上機(jī)器上的瀏覽器支持JavaScript腳本語(yǔ)言,目前JavaScript已被大多數(shù)的瀏覽器所支持。
不同于服務(wù)器端腳本語(yǔ)言,例如PHP與ASP,JavaScript主要被作為客戶(hù)端腳本語(yǔ)言在用戶(hù)的瀏覽器上運(yùn)行,不需要服務(wù)器的支持。所以在早期程序員比較青睞于JavaScript以減少對(duì)服務(wù)器的負(fù)擔(dān),而與此同時(shí)也帶來(lái)另一個(gè)問(wèn)題:安全性。
而隨著服務(wù)器的強(qiáng)壯,雖然程序員更喜歡運(yùn)行于服務(wù)端的腳本以保證安全,但JavaScript仍然以其跨平臺(tái)、容易上手等優(yōu)勢(shì)大行其道。同時(shí),有些特殊功能(如AJAX)必須依賴(lài)Javascript在客戶(hù)端進(jìn)行支持。隨著引擎如V8和框架如Node.js的發(fā)展,及其事件驅(qū)動(dòng)及異步IO等特性,JavaScript逐漸被用來(lái)編寫(xiě)服務(wù)器端程序。
- PC官方版
- 安卓官方手機(jī)版
- IOS官方手機(jī)版