摘要:設定的值的時候,即已自動暗示類型。第五章循環自我重復的風險數組用于在單一場所存儲多段數據數組的頁碼稱為鍵,索引只是一種形式特殊的鍵,它是數值鍵存儲在數組里的數據不一定為相同類型并不要求二維數組具有相同的行數,但是最好保持一致。
**
簡介**
書名:《Head First JavaScript》
中文譯名:《深入淺出JavaScript》
著:Michael Morrison
編譯:O’Reilly Taiwan公司
出版發行:東南大學出版社
申明:
本文所做的筆記并非本書最精華的部分,筆記大多是第一次閱讀本書時候所記錄下來的本人比較有感觸的部分(茅塞頓開?),雖然再次看這些知識點的時候自己也找不到當時初看時候的感覺,但是分享給大家,希望對大家的前端學習有所幫助。
本章首先講述了JavaScript對于網頁的重要性,即為網頁帶來了生命;然后以一個iRock的例子說明了JavaScript是如何為網頁帶來了生命,使網絡呈現出交互性,總得來說屬于吸引人繼續往下讀的章節,本章,我沒有做太多有用的筆記。
第二章 存儲數據 每項事物都有自己的位置1、本章主要講述的是如何呈現數據、存儲數據以及找出數據:
2、JavaScript使用三種基本數據類型text、number以及boolean。設定JavaScript的值的時候,即已自動暗示類型。具有極大的靈活性;
3、alert框里列出的數字,其必定為文本類型;
4、設定常量使用const NAME=Value;
5、重新載入網頁,腳本回來尚未執行前的狀態;
6、標識符:變量,常量及其它JavsScript語法元素在腳本里用作分辨的獨一無二的名稱,標識符應該具有描述性;
7、創建常量時務必初始化,否則容易引起誤解(未初始化undefined表示沒有數據);
8、NaN:not a number;非數字,用于表達變量的特殊狀況,某個表示應該是數字的值不見了的時候就會出現NaN;
9、常用命名規則:主要采用駝峰型(CamelCase)(首字母也大寫)只會用于對象,小寫駝峰型則用于變量和函數,常量全部大寫;
10、parseInt()與parseFloat():將文本轉換為數字(傳入的必須為數值,否則NaN);
11、toFixed()函數可以把Number四舍五入為指定小數位數的數字;
12、isNaN()函數,返回兩個值,不是數字(true);是數字(false)
13、對象的定義:其是一種先進的JavaScript數據類型,它能結合函數,常量和變量為一個邏輯實體(logical entity),方法(method)其實是屬于某對象的函數,特性(property)則是對象里的常量和變量,JavaScript幾乎使用對象表達一切;----------
1、瀏覽器里面允許JavaScript代碼的部分叫做JavaScript解釋器;
2、JavaScript被稱作客戶端語言的原因在于,網頁不用等待服務器處理和返回數據;
3、關于cookie:
cookie就像變量,瀏覽器把它存放在用戶的硬盤中;
cookie的作用在于延長腳本的生命周期;cookie具有自己的有效日期,甚至都算不上中期的保存方案;
服務器也可以用來永久存儲數據,不過小數據的時候不需要小題大做;
readCookie();writeCookie();
cookie影響瀏覽器的安全性,其本身非安全的存儲場所,最好別把敏感數據存儲在cookie里;
cookie不能訪問用戶的硬盤或散步病毒,但是可以存儲輸入網頁的個人數據。
只有在指定的網頁里,cookie名稱才需要獨特,因為cookie存儲時會依據創建它們的網頁加上區隔,確認cookie在單一網站或網頁里面具體獨特性;
不同瀏覽器不能共享cookie的數據的;
cookie只適合存儲相對較少的文本數據(小于4kb)cookie效率比較低;
navigator.cookieEnabled用于檢查瀏覽器是否支持cookie;
4、Ajax:編寫的向網站請求信息的腳本,然后于網頁上呈現信息;
5、單次定時器——setTimeout(Timer code,Timer delay);
6、不管數字多大,都別在JavaScript的數值中加逗號;
7、清除定時器clearInterval(timerID);
8、document.body.clientWidth和document.body.clientHeigth特性里面存儲了客戶端窗口的寬度和高度;
9、document對象代表網頁本身;
10、style.height和style.width,幾乎可以改變任何元素的尺寸;
11、要取用網頁元素,需要在onload里運行;
12、onresize()事件,檢測并響應瀏覽器窗口尺寸的調整;
1、分號保留給單一語句使用,復合語句不需要;復合語句里面出現的單一語句還是需要加上分號,但是復合語句本身則不需要;
2、運算符:operator;表達式:expression;
3、只要不是null、0、空字符串(“”),或“未定義”,任何值都會被解讀為true;
4、作用域代表數據的上下文;
5、腳本層次:腳本的最上層;
6、創建在函數內的變量為局部變量,其它全部都是全局變量;
7、switch/case語句讓我們在許多事物之間有效率的選擇,switch后面的表達式,不可為運算式,只能是單純的數據。
1、數組用于在單一場所存儲多段數據;
2、數組的頁碼稱為鍵(key),索引只是一種形式特殊的鍵,它是數值鍵;
3、存儲在數組里的數據不一定為相同類型;
4、并不要求二維數組具有相同的行數,但是最好保持一致。
1、解決“大”問題的訣竅,就在于將其分解成較小,較易管理的問題,如果分解后問題還是太龐大,再進一步分解;
2、程序代碼分解為函數的原因,在于協助區分工作,并為每個函數賦予單一目的;
3、復制代碼是個做成函數的好征兆,另外一個征兆是某段代碼逐漸變得笨重龐大,且可以被分解為數個邏輯片段;
4、argument:函數自變量;
5、字面量(literal)是用于表達源代碼中一個固定值的表示法;
6、return語句亦可不與任何數據同用,單純用于提早結束函數;
7、關于函數的進一步理解:
函數只不過是變量,函數不像一般變量,變量將其數據存儲成存儲器的某個區域里的值,函數則存儲對代碼的引用。所以函數變量的值不是代碼本身,而是指向存儲代碼的存儲器位置的引用;
當函數主體多帶帶出現而沒有名稱時,又被稱為函數字面量(function literal) 函數名稱也被稱為函數引用(function reference)
引用函數和調用函數的區別在于函數名稱后面是否有(),函數引用只會多帶帶出現,但是函數調用則必定后隨括號,很多時候還附有自變量;
函數引用讓我們聯接JavaScript代碼設計的事件處理函數,而不需改動HTML代碼;
回調函數:回調函數就是一個通過函數指針調用的函數。如果你把函數的指針(地址)作為參數傳遞給另一個函數,當這個指針被用來調用其所指向的函數時,我們就說這是回調函數,其重要性在于讓我們對代碼外發生的事情有所反應,回調函數就是一直在等待某事發生好準備起身動作的函數;
函數字面量有時候被稱為匿名函數(anonymous
function),只是沒有名稱的函數主體,有點像是實際的數據,其重要性在于它們很適合需要快速偶發回調函數的情況,只被調用一次;
8、onload事件處理器是一個初始化所有事件的絕佳地方;
9、onload處理器保證網頁一定已經載入,script標簽中,網頁不一定加載;
1、id屬性可獨一無二地識別網頁元素,name屬性可獨一無二地識別表單中的域,以上2、兩個屬性均可當成input域的識別符;
3、form對象厲害的地方,在于它也是一個數組,負責存儲表單中所有域。但是它的數組元素并非利用數值索引存儲,而是使用域獨有,于name屬性設定的標識符;
4、oncharge事件和onblur類似,但它只在某個域不再被選擇而且輸入內容被改變時觸發;
5、有很多響應鍵盤行為的事件。比如onkeypress,onkeyup,onkeydown;
6、使用來添加驗證,而不使用煩人的alert();
7、在html元素的上下文中,關鍵字this指向代表該元素的對象,form屬性可以把整份表單當做對象訪問,this.form用于引用表單本身。this.form是對form對象的引用;
8、輔助信息的id,命名規則一般為輸入域的id后面加上_help;
9、isNaN()函數可檢查值是否“不為數字”;
10、數據全部都正確才執行(&&);
11、問題很嚴重時,值得使用alert框;
12、關于正則表達式:
作用:正則表達式(regular expression)專門設計用于匹配文本模式;
正則表達式使用說明:出現在一對斜線里//;
元符號:用來連接字母和數字,創建高度描述性文本模式的特殊符號;
”.”(點):匹配任何字符,換行符除外(newline);
s:匹配空格,包括空白字符(space),tab,換行符,renturn/enter;
d:匹配任何數字字符;
^:字符串需以模式起始,前不能有其它字符;
w:匹配任何字母數字;
$:字符串需要以此模式結束;
正則表達式:不是元字符的任何文字將于正則表達式里“照樣匹配”;
正則表達式限定符(quantifier),限定符前為子模式,限定符即應用在子模式,并且控制子模式出現在模式里地次數:
*:子模式為可選的,可出現任意次數;
{n}:限定符之前的子模式必須恰好出現n次;
+:子模式必須出現,必須出現1次或多次;
?:子模式為可選的,若出現最多只能出現1次(0或1次);
():集合字符或/和元字符,成為子模式;
模式限定:比起只有元字符更加精確,不再直接重復子模式;
正則表達式本身不是字符串,但可以當做是對外部字符串的描述;
正則表達式單純設計用于匹配文本字符串內的字符模式,所以只能用在字符串上 具有特殊意義的字符,能以來進行轉義匹配。比如匹配$為$;
13、簡單字母串搜索indexOf()其實是極度簡化到最簡化的模式匹配,此時的模式只是一個靜態的詞匯或者詞語;
14、模式是一組對文本的敘述,但模式不見得必為文本本身;
15、JavaScript的RegExp對象的test()方法用于檢查字符串是否包含正則表達式模式;
16、正則表達式中的選替(alternation),類似于JavaScript的OR邏輯運算符,為|單豎線;
17、字符類:在模式里創建受到緊密控制的子模式[],在字符類內,每個列出的字符都是合格的字符匹配目標,能建立可替換的子模式列表;
18、郵件驗證的正則表達式:/^[w.-_+]+@[w-]+(.w{2,4})+$/;
1、關于innerHTML:
innerHTML特性對所有存儲在元素里的內容提供了訪問管道;
innerHTML特性實際上用于設置內容類元素,例如div、span、p以及其它裝載內容的元素;
innerHTML特性一定完全改寫任何原有內容,其沒有附加的概念;
2、nodeValue特性總是包含純文本,沒有額外格式:存儲于節點的值,只限文本和屬性節點使用;
3、利用nodeValue特性,可以輕易地指派新文本內容給子節點,但是只在非元素只擁有一個節點,如果擁有多個,只改變第一個;
4、安全的修改內容的方法:移除子節點;根據新內容創建新的文本節點;把新創建的文本子節點附加在節點下:對應removeChild();createTextNode();appendChild();
5、存儲在元素中的內容,在DOM樹中一定是該元素的子節點;
6、nodeType特性返回的是每種節點類型的代號,TEXT是3,ELEMENT是1;
7、DOM是種符合萬維網標準的HTML操縱方式,它能比innerHTML(微軟退出,后被其它瀏覽器采用,但并不是標準)特性達成更多操控功能;
8、createTextNode()創建的文本節點內容只能是文本,不能有其它標簽或者附加格式的文本;
9、通過改變樣式類的名稱可以更改樣式;
10、在HTML代碼中我們能透過關鍵字this訪問相對于某個元素的對象;
11、節點的style特性提供對單一樣式特性的訪問;
12、網頁元素可以利用元素對象的visibiliey樣式特征做動態的顯示或隱藏,也可以用display屬性。
1、對象=數據+行為;
2、對象是個容器,其中存儲數據并鏈接數據與依據數據行動的代碼;
3、當變量與函數被放在對象里面時,它們被當成對象成員(object member),變量稱為對象的特性(property),函數被稱為對象的方法(method);
4、通常運用點號運算符來訪問對象的方法和特性.;以點號引用對象成員;
5、對象是一組有名稱的特性和方法的集合。其包含多塊數據,其可稱為complex數據類型;而number,text,boolean被稱為基本數據類型;
6、與對象緊密聯系的數據,比起在腳本中飄零的一般數據(全局變量),具有更多背景和意義;
7、JavaScript本身就是一個大型的對象集合,比如alert()函數是window對象的方法;
標準JavaScript對象:日期,字符串,數組;
8、構造函數負責創建對象,使用new運算符,它調用對象的構造函數,開啟對象創建和過程;
9、構造函數的大部分工作,就是創建對象的特性,還有對象的初始值。在構造函數里創建特性時,需要使用JavaScript的關鍵字this,其指派對象特性的所有權,同時設置特性的初始值,創建屬于“這個”(this)對象的特性,而不是構造函數里的局部變量。this.who=who;
10、構造函數都采用首字母大寫,如同對象名稱
11、關鍵字this是于構造函數里創建對象特征的重點;
12、new運算符和構造函數共同創建了對象;
13、構造函數負責創建對象的特性,所以沒有構造函數就沒有任何特性,沒有任何特性就不是一個有意義的對象;
14、this是JavaScript的關鍵字,用于引用對象;
15、在Date對象里,時間以毫秒數表達;
16、String對象看起來不太像對象,它們只是簡單地括起一段文本字符串,創建為對象字面量(object literal);
17、Date對象在于表達瞬間,以1970年1月1日為參考點,以毫秒為單位;
18、對象轉換為文本,每個JavaScript對象都具有toString()方法,它試圖為對象提供文本字符的表達方式,會主動冒出來工作;
19、getMonth()日期中的月份數,以0到11表示;getDate():一個月中的天數,1到31;getFullYear():完整地四位數年份;
20、Array對象的sort()方法,默認采取由小到大的升冪順序;
21、字符串里面的字符串被稱為子字符串(substring);
22、indexOf()方法:返回子字符串位置的索引值,或者在找不到匹配字符串時返回-1;
字符串可以看成是字符組成的數組;
23、可以把字符串內的字符類比如數組的元素,但是字符串一定不是數組;
24、chartAt()只能搜索單一字符;
25、Math對象是個收藏數學方法和常量的組織對象,其沒有變量,不能用于存儲任何事物;
26、Math對象并未實際包含可以使用的數據(instance data),所以不需要創建對象,其只是靜態的方法和常量的集合;
27、Math.round():四舍五入;Math.floor():直接舍去小數點后面的數字;
28、把一些常用函數加到對象里面去;
??
1、方法過載
2對象類:是對象的描述,一份描述對象構成的模板;對象實例:則是實際對象,從類中創建;
3、類描述對象的特性和方法,實例則把真正的數據放入特性,并為數據注入生命,每個實體都有自己的特性副本,實例之間才彼此不同;
4、關鍵字this用于設置實例擁有的特性和方法,但是this同時表明它們被各個實例所擁有,這就解釋了方法會被復制到每個特例(方法過載)的原因;
5、類擁有的實例方法(class-owned instance method),比起每個實例各存儲一份方法,有效率多了;
6、方法存儲在類里,讓所有實例共享一份方法代碼;
7、prototype對象用于設定隸屬于類層(class level)的特性與方法,而非屬于實例的;
8、類是對象的描述,實例則是實際的對象,根據對象描述所創建的;
9、類勾畫了對象的特性和方法,實例則把真正的數據放在特性里以供方法利用;
10、關鍵字this用于從實例本身的程序代碼內訪問實例;
11、prototype對象讓方法可存儲于類內,以免實例不必要地一直復制程序代碼;
12、類讓對象的創建和重復利用更為容易;
13、this從實例內的方法訪問實例,而prototype,提供創建類的機制,不像C++或Java等其它程序語言,JavaScript并未真正支持類作為語言的具體構成要素,它使用prototype模擬類;
14、構造函數是創建JavaScript類時非常重要的一部分,它們負責構造對象實例,構造函數負責設定實例的一切事項,原型負責處理類層的一切事項;
15、Blog.prototype.toHTML=function(){…};
16、對象命名的唯一規則,只有首字母大寫,但是實例的命名規則采用小寫駝峰式。實例其實是一個變量;
17、面向對象編程(OOP):在程序中廣泛使用對象,程序可分解成很多組彼此交互的對象集合;
18、類特性(class property)也能共享,使用prototye創建Blog.prototype.signature=“";
調用類特性只需要this.signature;
19、類特性的訪問一定與實例有關;
20、利用prototype可以擴展內置的JavaScript類,是類擁有的實例方法,屬于類,但能訪問實例數據;
21、類方法:為類所有,但是無法訪問實例特性的方法,不使用prototype對象,僅使用22、類名和點號把方法指派給類;類名是調用類對象的關鍵;
23、把對象的功能封裝(encapsulate)至對象里,是OPP的基本概念之一,表明外部代碼不應該負責對象本身可負責的工作;
24、當某個自變量未被傳給函數,方法或構造函數時,在任何試圖使用自變量的代碼里,它的值都是null,這并不一定是壞事?;
1、不同瀏覽器對腳本的報錯不一樣,可通過多個瀏覽器找出錯誤出現的地方,總的來說Firefox非常適合去除網頁腳本里所包含的缺陷;
2、凡是未被指派值的變量,會自動假設為undefined類型,變量從來不會自動設為null,其在boolean上下文中都被轉換為false;
3、雖然大多數瀏覽器都提供了錯誤控制臺,但并非完全準確,不能全盤相信;
4、瀏覽器通常產生不完全的錯誤信息,其都是尋找問題的線索;
5、缺少括號,打錯字是常見的錯誤來源;
6、JavaScript代碼中,引號應該成對出現;
7、當引號不是引號,使用轉義符:alert(‘It"s so exciting!"),不需要運用alert(“It"s so exciting!”);
8、alert可以作為觀察變量數值的窗口以及驗證代碼是否被運行;
9、=不等于==;
10、邏輯錯誤較語法錯誤更難處理,瀏覽器不提示:意圖做某事,卻意外地寫成了另一件事情的代碼;
11、凡是企圖讀取未定義的變量行使有意義的行為都變得完全沒有意義,因而會報錯;
12、注意網頁里面的JavaScript代碼的運行時間;
13、運行時錯誤(Runtime error):不會載入文檔主體的問題:用戶在表單里輸入了腳本無法處理的數據,試圖在對象創建或初始化前訪問對象;
14、JavaScript三蟲客:語法錯誤,邏輯錯誤,運行時錯誤;
15、語法錯誤(Syntax):由于違反JavaScript語言規則而造成的錯誤,表示代碼不適合在JavaScript解釋器中運行;
16、移除程序代碼是一個絕佳的腳本顯示方式:利用注釋暫時禁用代碼;
17、同名局部變量會掩蔽全局變量(陰影變量);局部變量在局部范圍內具有優先權,陰影變量在任何情況下都應該被靜止;
1、Ajax:使得網頁的行為比較像完全成熟的應用程序,因為它們能夠動態地快速下載并存儲數據以及實時響應用戶,卻不用重新載入網頁或利用瀏覽器的某些小手段;
2、以動態數據建造的網頁稱為數據驅動網頁(data-driven page),這類網頁只定義了等著數據填入的頁面構架;
3、動態數據需要一點事前編輯工作,但是日后帶來龐大的回報;
4、XML是種為任何類型的數據設計格式的標記語言;
5、XML沒有定義任何標簽和屬性,它是一組標簽與屬性該如何創建和使用的規則。一切6、說明特定數據表現方式的標簽與屬性規范都交給各個XML應用程序;
7、現在已經有很多創建完畢的XML語言,用于解決各式各樣的問題,借用這些XML語言或者創建自己專屬的標記語言都非常好;
8、XHTML是遵守XML的較嚴格語法規則的新版HTML;
必須有結束標簽;
結束標簽必須有/如
;
所有的屬性值均以引號圍起來;
9、XML對數據的外觀沒有概念,其專心于數據的意義;
10、XML曾經是Ajax的一部分,現在仍然是大多數Ajax應用程序的基礎,其提供了數據建模的絕佳機制;
11、XML和HTML相似,遂可以透過DOM,把XML視為節點數而訪問數據。小心的分離出想要的數據,然后動態的融合數據與網頁;
12、在實行客戶端與服務端的數據通信時,Ajax以請求(request)和響應(response)為中心概念;
13、JavaScript內置一個稱為XMLHttpRequest的對象,用于發起Ajax請求并處理Ajax響應;
14、readyState:請求的代碼狀態0(未初始)、1(開啟)、2(已傳送)、3(接收中)、4(已載入);
15、status:HTTP的請求狀態代碼,例如404(找不到文件)或者200(OK);
16、onreadystatechange:請求狀態改變時會被調用的函數引用,存儲一個引用,引用于Ajax請求的狀態改變時調用的自定義事件處理器——這是事件處理器就是處理響應的地方(判斷Ajax是否以合格的響應結束);
17、responseText:由服務器返回的響應數據,格式為純文本字符串;
18、responseXML:由服務器返回的響應數據,格式為XML節點樹構成的對象(這兩個存儲服務器返回的Ajax響應數據);
19、abort()取消請求,只用在需要取消Ajax請求的時候;
20、open():準備請求,指定請求的類型,URL及其他細節;
21、send():傳送請求,交給服務器處理:這兩個方法合作準備Ajax請求,而后送給服務器;
22、即使是最基礎的Ajax請求,也需要相當數量的JavaScript代碼;
23、創建XMLHttpRequest對象的問題,在于瀏覽器必須提供自己的對象實現,好消息是所有瀏覽器使用的方法和特性都是一致的,對象的創建方式才是瀏覽器需要考量的差異;
24、非同步請求(asynchronous request)在后臺運作,不用讓腳本等待,所以幾乎所有的Ajax請求都是異步的;
25、Ajax請求的類型(type)非常重要,不只反映傳送到服務器的事物,也反映請求的意圖;
26、GET:主要用于從服務器取得數據,而不影響服務器上的其它東西,如果需要也能透過URL傳入小量數據給服務器;
27、POST:通常與傳送數據到服務器有關,傳送后的服務器狀態通常有所改變,以響應傳入的數據,例如存儲數據到數據庫中;
28、自定義的AjaxRequest對象減輕了制作Ajax請求的痛苦過程;
29、send(type,url,handler,postDataType,postData);
30、type 請求的類型GET或POST,url:服務器的url,數據也可以包裝在url里面;
31、postDataType:被傳送的數據類型;handle:用于處理響應的回調函數;
32、postData:被傳送的數據;
33、自定義的請求處理函數必須為請求而設置,用于請求完畢時被調用;
34、調用AjaxRequest對象的send()方法后,有個Ajax請求被傳送到服務器,網頁則先行35、處理網頁事物,同時服務器也在處理請求,這就是Ajax的異步,因為異步處理,網頁無需暫停,用戶體驗不會為此停歇;
36、HTTP的請求和響應為網絡瀏覽器所用,從網絡服務器上獲取HTML網頁。Ajax的請求與響應與HTTP的非常相似,但有幾項關鍵差異;Ajax版隨時可能發生,不見得牽涉到HTML數據的遞送,Ajax最大的好處之一,就是它能請求任何類型的數據;
37、Ajax的請求和響應為實時發生,通常不會干涉網頁的使用性,當網頁上的一小塊需要更新時,用戶不用停下來等著整個網頁重新載入,那塊區域可于“背景”載入,用戶可以繼續瀏覽網頁其它部分并與之交互;
38、GET和POST的主要區別在于服務器是否經歷狀態改變,例如存儲數據到數據庫;
自定義的AjaxRequest的角色是標準對象XMLHttpRequest的“外包裝”,用于簡化Ajax的使用;
39、交互式網頁就從請求對象開始;
40、客戶端腳本使用自定義的回調函數處理Ajax請求的響應;
41、AjaxRequest對象的方法具有對Ajax響應數據的訪問權。getResponseText():以純文本的格式取得Ajax響應里地訪問與getResponseXML():以結構XML代碼的格式取得Ajax響應里的數據;
42、Ajax請求在state市4(loaded)且status是200(OK)時,表示完全成功;
43、handleRequest()函數只有在同時達成這兩個狀態時起身工作;
44、暫時禁用按鈕是一個絕佳的方案,而后于handleRequest()函數中啟用;
45、PHP是種可在服務器上執行任務的腳本語言;
46、大多數時候,除了最簡單的請求,所有Ajax請求都牽涉到服務器端接受來自客服端的數據,然后根據數據而行動;
47、運行PHP需要調校一下你的網絡服務器;
48、URL-encoded格式:每段數據需要有自己的名稱和值,中間插入(=),每對名稱/值之間則用&區隔;
49、代碼之間的共享使得網頁更加精簡。?
?????
**
小結:**
《Head First JavaScript》是一本入門書,語言通俗易懂,幽默風趣,很多部分比較偏基礎,但是又不失細節,本書以實例為指導來說明JavaScript的一個個部分,確實能增強初學者對JavaScript的作用的理解,總的來說看完本書,我感覺收獲還是很大的,筆記只是本書的很少的一部分,如果對JavaScript有一定了解,但是感覺又不是很清楚的同學,推薦大家閱讀一下,一定會很有收獲的。
本人也是前端的初學者,之后會慢慢再跟大家分享自己學習過程中看的書,做的筆記,期待跟大家一起進步,本文只是個人筆記,如果有錯誤的地方,希望大家能夠指出,希望跟大家一起探討交流。
?
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/78304.html
摘要:一讓廣播明星黯然失色要建立頁面,需要創建用超文本標記語言,編寫的文件,把它們放在一個服務器上二服務器能做什么服務器在互聯網上有一份全天候的工作。一、Web讓廣播明星黯然失色 要建立Web頁面,需要創建用超文本標記語言(HyperText Markup Language,HTML)編寫的文件,把它們放在一個Web服務器上二、Web服務器能做什么? Web服務器在互聯網上有一份全天候的工...
摘要:下面這條語句將導致語法錯誤變量名允許包含字母數字美元符號和下劃線但第一個字符不允許是數字。可以把一些布爾值存入一個數組,還可以把一組數值存入一個數組甚至可以把這種數據類型混在一起存入一個數組數組元素還可以是變量這將把數組的第一個元素賦值為。 執行Javascript的方式 第一種方式是將JS代碼放到 < head > 標簽中的 < script > 標簽之間: ...
摘要:下面這條語句將導致語法錯誤變量名允許包含字母數字美元符號和下劃線但第一個字符不允許是數字。可以把一些布爾值存入一個數組,還可以把一組數值存入一個數組甚至可以把這種數據類型混在一起存入一個數組數組元素還可以是變量這將把數組的第一個元素賦值為。 執行Javascript的方式 第一種方式是將JS代碼放到 < head > 標簽中的 < script > 標簽之間: ...
摘要:下面這條語句將導致語法錯誤變量名允許包含字母數字美元符號和下劃線但第一個字符不允許是數字。可以把一些布爾值存入一個數組,還可以把一組數值存入一個數組甚至可以把這種數據類型混在一起存入一個數組數組元素還可以是變量這將把數組的第一個元素賦值為。 執行Javascript的方式 第一種方式是將JS代碼放到 < head > 標簽中的 < script > 標簽之間: ...
閱讀 2135·2021-10-14 09:43
閱讀 2197·2019-08-30 15:55
閱讀 726·2019-08-30 14:23
閱讀 2019·2019-08-30 13:21
閱讀 1235·2019-08-30 12:50
閱讀 2199·2019-08-29 18:46
閱讀 2280·2019-08-29 17:28
閱讀 2359·2019-08-29 17:21