web客戶端編程基礎 – JavaScript

上一篇:web客戶端編程基礎 – HTML盖灸、CSS

主要參考:https://www.w3school.com.cn

思維導圖:

1-???思維導圖


1、什么是JavaScript

首先:JavaScript和Java 是完全不同的語言曹质,不論是概念還是設計!G娉 羽德!

其次:JavaScript是屬于HTML和web的編程語言,是對網(wǎng)頁行為進行編程的迅办。

2宅静、JavaScript的使用

2.1 使用JavaScript代碼的兩種方式:

1、 在<script>標簽中:<script>這里是javascript代碼</script>站欺。

2姨夹、 把代碼寫在后綴為 .js 的文件中纤垂,在<script>標簽屬性src引用 <script src="代碼文件.js"></script>

2.2 Js顯示方案:

1、 window.alert() 彈窗警告

2磷账、 document.write() 寫入HTML輸出

3峭沦、 innerHTML 寫入HTML元素

4、 console.log() 寫入瀏覽器控制臺

2.3 使用瀏覽器執(zhí)行JavaScript代碼

在電腦上打開瀏覽器逃糟,按F12(有些是Fn+F12)吼鱼,出現(xiàn)調(diào)試窗口,在Console 選擇項中绰咽,可以直接編寫菇肃、執(zhí)行、調(diào)試JavaScript代碼剃诅。以google瀏覽器為例:

2 – 使用示例

3巷送、語法與變量

在 HTML 中驶忌,JavaScript 語句是由 web 瀏覽器“執(zhí)行”的“指令”矛辕。 計算機程序是由計算機“執(zhí)行”的一系列“指令”。

在編程語言中付魔,這些編程指令被稱為語句聊品。

JavaScript 程序就是一系列的編程語句。

注釋:在 HTML 中几苍,JavaScript 程序由 web 瀏覽器執(zhí)行翻屈。


1、JavaScript的變量和php變量類似妻坝,都是弱類型的伸眶。

2、使用 var 來聲明變量刽宪,以分號厘贼;分隔語句。

3圣拄、使用 = 號為變量賦值

4嘴秸、使用 +-*/ 等算數(shù)運算符來計算值,(因此js 中不能使用連字符- 來命名變量)

5庇谆、//之后 或 /*與*/ 之間的代碼被視為注釋


4岳掐、數(shù)據(jù)類型

JavaScript 是一種弱類型或者說動態(tài)語言。不用提前聲明變量的類型饭耳,在程序運行過程中串述,類型會被自動確定∧ぃ可以使用同一個變量保存不同類型的數(shù)據(jù):字符串(String)剖煌、數(shù)字(Number)材鹦、布爾(Boolean)、數(shù)組(Array)耕姊、對象(Object)桶唐、空(Null)、未定義(Undefined)


4.1 布爾類型

布爾表示一個邏輯實體茉兰,可以有兩個值:true 和 false尤泽。


4.2??Null類型

Null 類型只有一個值: null。


4.3??Undefined 類型

一個沒有被賦值的變量會有個默認值 undefined规脸∨髟迹可以通過將變量的值設置為 null 來清空變量。但是用undefined清空變量則會有意想不到的bug等著你莫鸭。


4.4??數(shù)字

JavaScript 只有一種數(shù)字類型:基于 IEEE 754 標準的雙精度 64 位二進制格式的值(-(253 -1) 到 253 -1)闹丐。它并沒有為整數(shù)給出一種特定的類型。數(shù)字可以帶小數(shù)點被因,也可以不帶卿拴。

NaN屬于 JavaScript 保留詞,指示某個數(shù)不是合法數(shù)梨与。嘗試用一個非數(shù)字字符串進行除法會得到 NaN(Not a Number)堕花。

Infinity (或 -Infinity)是 JavaScript 在計算數(shù)時超出最大可能數(shù)范圍時返回的值。

絕不要用前導零寫數(shù)字(比如 07)粥鞋。

一些 JavaScript 版本會把帶有前導零的數(shù)解釋為八進制缘挽。

默認地,Javascript 把數(shù)顯示為十進制小數(shù)呻粹。

但是您能夠使用 toString() 方法把數(shù)輸出為十六進制壕曼、八進制或二進制。例如:varNum.toString(8)


其它數(shù)字方法:

toExponential() 返回字符串值等浊,它包含已被四舍五入并使用指數(shù)計數(shù)法的數(shù)字腮郊。

toFixed() 返回字符串值,它包含了指定位數(shù)小數(shù)的數(shù)字凿掂。常用于處理金錢toFixed(2)

toPrecision() 返回字符串值伴榔,它包含了指定長度的數(shù)字。

valueOf() 以數(shù)值返回數(shù)值庄萎。

parseFloat()解析一段字符串并返回數(shù)值踪少。允許空格。只返回首個數(shù)字糠涛。

parseInt()解析一段字符串并返回數(shù)值援奢。允許空格。只返回首個數(shù)字忍捡。



4.5??字符串

JavaScript 字符串用于存儲和操作文本集漾,是引號中的零個或多個字符組成切黔。可以用單引號或雙引號生成具篇。\ 轉(zhuǎn)義字符的使用纬霞,是為避免字符串中的引號產(chǎn)生歧義從而被切、報錯驱显。

其它六個有效轉(zhuǎn)義序列:\b 退格鍵诗芜;\f 換頁;\n 新行埃疫;\r 回車伏恐;\t 水平制表符;\v 垂直制表符栓霜;

內(nèi)建屬性 length 可返回字符串的長度翠桦。

其它常用JavaScript字符串方法:

1、 indexOf() 方法返回字符串中指定文本首次出現(xiàn)的索引(位置)胳蛮,未找到返回-1

2销凑、 lastIndexOf() 方法返回指定文本在字符串中最后一次出現(xiàn)的索引,未找到返回-1

3鹰霍、 search() 方法搜索特定值的字符串闻鉴,并返回匹配的位置

4茵乱、 slice(start, end) 提取字符串的某個部分并在新字符串中返回被提取的部分

5茂洒、 substring() 類似于 slice()。不同之處在于 substring() 無法接受負的索引瓶竭。

6督勺、substr(start, length)提取字符串的某個部分并在新字符串中返回被提取的部分

7、replace(old, new)方法用另一個值new替換在字符串中指定的值old

replace() 方法不會改變調(diào)用它的字符串斤贰。它返回的是新字符串智哀。它只替換首個匹配,且對大小寫敏感荧恍。如需執(zhí)行大小寫不敏感的替換瓷叫,則使用正則表達式。

8送巡、 toUpperCase() 把字符串轉(zhuǎn)換為大寫

9摹菠、 toLowerCase() 把字符串轉(zhuǎn)換為小寫

10、?concat() 連接兩個或多個字符串

11骗爆、trim()方法刪除字符串兩端的空白符

12次氨、?split(“分隔符”) 將字符串轉(zhuǎn)換為數(shù)組



4.6??數(shù)組

JavaScript 數(shù)組用于在單一變量中存儲多個值。由括號[和反括號]或者 new Array()定義聲明摘投。通過引用索引號(下標號)來引用某個數(shù)組元素煮寡,例如arr[0]虹蓄。數(shù)組是一種特殊類型的對象。在 JavaScript 中對數(shù)組使用 typeof 運算符會返回 "object"幸撕。雖說如此薇组,Js數(shù)組還是以數(shù)組來描述,區(qū)分:數(shù)組是[]括號坐儿,對象是{}花括號体箕。


常用的數(shù)組屬性和方法:

1、 length 屬性返回數(shù)組的長度(數(shù)組元素的數(shù)目)

2挑童、 Array.foreach() 函數(shù)遍歷數(shù)組累铅,一般最安全的方法是使用for循環(huán)。

3站叼、 push方法向數(shù)組添加新元素娃兽,返回新數(shù)組的長度

4、 Array.isArray() 函數(shù)判斷變量是否是數(shù)組(ECMAScript 5尽楔,部分老瀏覽器不支持)

5投储、 toString() 把數(shù)組轉(zhuǎn)換為數(shù)組值(逗號分隔)的字符串,join(“分隔符”)也可以達到相同效果

6阔馋、 pop() 方法從數(shù)組中刪除最后一個元素

7玛荞、 shift() 方法會刪除首個數(shù)組元素,并把所有其他元素“位移”到更低的索引呕寝,返回“位移出”的字符串

8勋眯、 unshift() 方法(在開頭)向數(shù)組添加新元素,并“反向位移”舊元素下梢,返回新數(shù)組的長度

注意:push客蹋、unshift、pop孽江、shift 這四個方法一起記憶:數(shù)組頭尾添加刪除讶坯,添加返回長度,刪除返回元素岗屏。

9辆琅、 splice(start, length,…) 方法可用于向數(shù)組添加新項,返回一個包含已刪除項的數(shù)組这刷,一般的用法是刪除元素:splice(start,1)

10婉烟、concat() 方法通過合并(連接)現(xiàn)有數(shù)組來創(chuàng)建一個新數(shù)組, 不會更改現(xiàn)有數(shù)組。它總是返回一個新數(shù)組, 可以使用任意數(shù)量的數(shù)組參數(shù)崭歧。

11隅很、slice(start, end) 方法用數(shù)組的某個片段切出新數(shù)組。它不會從源數(shù)組中刪除任何元素



數(shù)組排序:

1、 sort() 方法以字母順序?qū)?shù)組進行排序叔营。如果要對數(shù)值進行排序屋彪,則需自定義比值函數(shù)。例如:arr.sort(function(a, b){return a - b})

2绒尊、 reverse() 方法反轉(zhuǎn)數(shù)組中的元素畜挥。

3、 Math.max 查找數(shù)組中的最高值

4婴谱、 Math.min 查找數(shù)組中的最低值



4.7??對象

天天面向?qū)ο笮返瑓s沒個對象。

示例:

var person = {

?// 屬性:屬性值,

?firstName: "Bill",

?lastName : "Lee",

?id??????: 627,

?// 方法名:函數(shù)定義(參數(shù))

?fullName : function(arg) {

???return arg+this.firstName + " " + this.lastName;

?}

};

對象訪問: 值person.id 方法person.fullname(‘hello谭羔!’);

JavaScript this 關鍵詞指的是它所屬的對象

它擁有不同的值华糖,具體取決于它的使用位置:

在方法中,this 指的是所有者對象瘟裸。

單獨的情況下客叉,this 指的是全局對象。

在函數(shù)中话告,this 指的是全局對象兼搏。

在函數(shù)中,嚴格模式下沙郭,this 是 undefined佛呻。

在事件中,this 指的是接收事件的元素病线。

像 call() 和 apply() 這樣的方法可以將 this 引用到任何對象吓著。


5包竹、運算符

運算符常用

1、算術運算符 +-*/ 会通;

2牙瓢、比較和邏輯運算符:

與&& 或|| 非!

大于> 小于< 大于等于>= 小于等于<= 等于== 全等于=== 不等于!=;

3盅弛、賦值運算 ++,-- ,+=, -= 。

不常用,但是關鍵時刻很好用的“位運算符”:

5-運算符圖

6赡突、條件語句

使用 if 來規(guī)定要執(zhí)行的代碼塊,如果指定條件為 true

使用 else 來規(guī)定要執(zhí)行的代碼塊区赵,如果相同的條件為 false

使用 else if 來規(guī)定要測試的新條件惭缰,如果第一個條件為 false

使用 switch 來規(guī)定多個被執(zhí)行的備選代碼塊

例1:

if(表達式){

??????代碼塊

}else if(表達式){

??????代碼塊

}else{

??????代碼塊

}

例2:

switch(表達式) {

????case n:

???????代碼塊

???????break;

????case n:

???????代碼塊

???????break;

????default:

???????默認代碼塊

}


7、循環(huán)語句

for - 多次遍歷代碼塊

for/in - 遍歷對象屬性

while - 當指定條件為 true 時循環(huán)一段代碼塊

do/while - 當指定條件為 true 時循環(huán)一段代碼塊

for (語句1; 語句 2; 語句 3) {

????要執(zhí)行的代碼塊

}

語句 1 在循環(huán)(代碼塊)開始之前執(zhí)行笼才。

語句 2 定義運行循環(huán)(代碼塊)的條件漱受。

語句 3 會在循環(huán)(代碼塊)每次被執(zhí)行后執(zhí)行。


break 語句“跳出”循環(huán)骡送。

continue 語句“跳過”循環(huán)中的一個迭代昂羡。

continue 語句(不論有無標簽引用)只能用于跳過一個迭代絮记。

break 語句,如果沒有標簽引用虐先,只能用于跳出一個循環(huán)或一個 switch怨愤。

如果有標簽引用,則 break 語句可用于跳出任意代碼塊


8蛹批、函數(shù)

8.1 函數(shù)的表達和定義

JavaScript 函數(shù)通過 function 關鍵詞進行定義撰洗,其后是函數(shù)名和括號 ()。

函數(shù)名可包含字母腐芍、數(shù)字差导、下劃線和美元符號(規(guī)則與變量名相同)。

圓括號可包括由逗號分隔的參數(shù)

例如:

function functionName(parameters) {

??要執(zhí)行的代碼

}


JavaScript 函數(shù)也可以使用表達式來定義猪勇。函數(shù)表達式可以在變量中存儲柿汛;

例如:var x = function (a, b) {return a * b};這樣的函數(shù)是一個匿名函數(shù)。


箭頭函數(shù)允許使用簡短的語法來編寫函數(shù)表達式埠对。您不需要 function 關鍵字络断、return 關鍵字和花括號。例如:

// ES5

var x = function(x, y) {

?return x * y;

}

// ES6 — 早期版本可能不支持

const x = (x, y) => { return x * y };


9项玛、HTML DOM操作

通過 HTML DOM貌笨,JavaScript 能夠訪問和改變 HTML 文檔的所有元素。


9.1 什么是HTML DOM

HTML DOM 文檔對象模型襟沮。

當網(wǎng)頁被加載時锥惋,瀏覽器會創(chuàng)建頁面的文檔對象模型(Document Object Model)。

HTML DOM 模型被結(jié)構(gòu)化為對象樹:

9_1-對象樹


9.2 HTML事件

HTML 事件是發(fā)生在 HTML 元素上的“事情”开伏。

當在 HTML 頁面中使用 JavaScript 時膀跌,JavaScript 能夠“應對”這些事件。

常見的HTML事件:

onchange?????HTML 元素已被改變

onclick??用戶點擊了 HTML 元素

onmouseover 用戶把鼠標移動到 HTML 元素上

onmouseout?用戶把鼠標移開 HTML 元素

onkeydown??用戶按下鍵盤按鍵

onload??瀏覽器已經(jīng)完成頁面加載


9.3 HTML DOM Document 對象

HTML DOM 文檔對象是您的網(wǎng)頁中所有其他對象的擁有者固灵。

常用的方法和屬性:

1捅伤、獲取HTML元素

document.getElementById(id)???通過元素 id 來查找元素

document.getElementsByTagName(name)?????通過標簽名來查找元素

document.getElementsByClassName(name)???通過類名來查找元素

注意:如果您需要查找匹配指定 CSS 選擇器(id、類名巫玻、類型丛忆、屬性、屬性值等等)的所有 HTML 元素仍秤,請使用 querySelectorAll() 方法熄诡,但是querySelectorAll() 不適用于 Internet Explorer 8 及其更早版本。

2诗力、改變HTML元素

element.innerHTML = new html content??改變元素的 inner HTML

element.attribute = new value???改變 HTML 元素的屬性值

element.setAttribute(attribute, value) 改變 HTML 元素的屬性值

element.style.property = new style???改變 HTML 元素的樣式

3凰浮、添加和刪除元素

document.createElement(element)???創(chuàng)建 HTML 元素

document.removeChild(element)?????刪除 HTML 元素

document.appendChild(element)?????添加 HTML 元素

document.replaceChild(element) 替換 HTML 元素

document.write(text)???寫入 HTML 輸出流

4、添加事件處理

document.getElementById(id).onclick = function(){code} 向 onclick 事件添加事件處理程序

document.getElementById("myBtn").addEventListener("click", function(){code}) 事件監(jiān)聽器,addEventListener() 方法袜茧。

5屿良、查找HTML對象

document.anchors 返回擁有 name 屬性的所有 <a> 元素。?????

document.applets 返回所有 <applet> 元素(HTML5 不建議使用)

document.baseURI?????返回文檔的絕對基準 URI

document.body???返回 <body> 元素

document.cookie?返回文檔的 cookie

document.doctype?????返回文檔的 doctype

document.documentElement????返回 <html> 元素

document.documentMode 返回瀏覽器使用的模式

document.documentURI????返回文檔的 URI

document.domain 返回文檔服務器的域名

document.domConfig?廢棄惫周。返回 DOM 配置

document.embeds?????返回所有 <embed> 元素

document.forms??返回所有 <form> 元素

document.head???返回 <head> 元素

document.images 返回所有 <img> 元素

document.implementation?返回 DOM 實現(xiàn)

document.inputEncoding???返回文檔的編碼(字符集)

document.lastModified 返回文檔更新的日期和時間

document.links????返回擁有 href 屬性的所有 <area> 和 <a> 元素

document.readyState??返回文檔的(加載)狀態(tài)

document.referrer 返回引用的 URI(鏈接文檔)

document.scripts?返回所有 <script> 元素

document.strictErrorChecking???返回是否強制執(zhí)行錯誤檢查

document.title?????返回 <title> 元素

document.URL?????返回文檔的完整 URL


9.4 動畫

原理:JavaScript 動畫是通過對元素樣式進行漸進式變化編程完成的尘惧。這種變化通過一個計數(shù)器來調(diào)用。當計數(shù)器間隔很小時递递,動畫看上去就是連貫的喷橙。

主要實現(xiàn)步驟:

1、?用document對象獲取到要執(zhí)行動畫的元素登舞,比如id=“”animation贰逾,則先 var item=document. getElementById(“animation”);

2、?設置定時器setInterval(代碼菠秒,秒)疙剑。setInterval() 方法可按照指定的周期(以毫秒計)來調(diào)用函數(shù)或計算表達式。setInterval() 方法會不停地調(diào)用函數(shù)践叠,直到 clearInterval() 被調(diào)用或窗口被關閉言缤。

3、?在執(zhí)行函數(shù)中利用document對象操作HTML元素禁灼,動態(tài)改變HTML元素的樣式管挟,從而達到動畫的效果。

示例代碼:

function myMove() {

???var elem =?document.getElementById("animate"); ?//獲取元素

???var pos = 0;

???var id = setInterval(frame, 5);???????????????????//設置定時器

????function frame() {

???????if (pos ==?350) {

????????????clearInterval(id);????????//結(jié)束定時器

???????} else {

????????????pos++; ????????????????????//計時

????????????elem.style.top = pos + 'px'; ????//改變元素的高度位置

????????????elem.style.left = pos + 'px'; ????//改變元素的距左位置

???????}

????}

}


10弄捕、Browser DOM操作

10.1 什么是Browser DOM

瀏覽器對象模型(Browser Object Model (BOM))

存在瀏覽器對象模型(BOM)的官方標準僻孝。

現(xiàn)代的瀏覽器已經(jīng)(幾乎)實現(xiàn)了 JavaScript 交互相同的方法和屬性,因此它經(jīng)常作為 BOM 的方法和屬性被提到守谓。


10.2 常用的屬性和方法

window.document.getElementById("header"); 等同于document.getElementById("header");

瀏覽器窗口尺寸

window.innerHeight - 瀏覽器窗口的內(nèi)高度(以像素計)

window.innerWidth - 瀏覽器窗口的內(nèi)寬度(以像素計)

瀏覽器窗口(瀏覽器視口)不包括工具欄和滾動條

document.documentElement.clientHeight

document.documentElement.clientWidth

document.body.clientHeight

document.body.clientWidth

其它窗口方法:

window.open() - 打開新窗口

window.close() - 關閉當前窗口

window.moveTo() -移動當前窗口

window.resizeTo() -重新調(diào)整當前窗口

screen.width 屬性返回以像素計的訪問者屏幕寬度穿铆。

screen.height 屬性返回以像素計的訪問者屏幕的高度。

screen.availWidth 屬性返回訪問者屏幕的寬度斋荞,以像素計荞雏,減去諸如窗口工具條之類的界面特征。

screen.availHeight 屬性返回訪問者屏幕的高度譬猫,以像素計讯檐,減去諸如窗口工具條之類的界面特征。

screen.colorDepth

screen.pixelDepth


瀏覽器信息和路由:

window.location.href 返回當前頁面的 href (URL)

window.location.hostname 返回 web 主機的域名

window.location.pathname 返回當前頁面的路徑或文件名

window.location.protocol 返回使用的 web 協(xié)議(http: 或 https:)

window.location.assign 加載新文檔

history.back() - 等同于在瀏覽器點擊后退按鈕

history.forward() - 等同于在瀏覽器中點擊前進按鈕

navigator: window.navigator 對象包含有關訪問者的信息


10.3 彈出框:警告框染服、確認框和提示框:

1、 警告窗window.alert()叨恨,alert(文字);當警告框彈出時柳刮,用戶將需要單擊“確定”來繼續(xù)。

2、 確認框window.confirm()秉颗,confirm(文字);當確認框彈出時痢毒,用戶將不得不單擊“確定”或“取消”來繼續(xù)進行。如果用戶單擊“確定”蚕甥,該框返回 true哪替。如果用戶單擊“取消”,該框返回 false菇怀。

3凭舶、 提示框window.prompt(),prompt();當提示框彈出時爱沟,用戶將不得不輸入值后單擊“確定”或點擊“取消”來繼續(xù)進行帅霜。如果用戶單擊“確定”,該框返回輸入值呼伸。如果用戶單擊“取消”身冀,該框返回 NULL。


10.4 Timing事件

window 對象允許以指定的時間間隔執(zhí)行代碼括享。

這些時間間隔稱為定時事件搂根。

通過 JavaScript 使用的有兩個關鍵的方法:

setTimeout(function, milliseconds) 在等待指定的毫秒數(shù)后執(zhí)行函數(shù)。

setInterval(function, milliseconds) 等同于 setTimeout()铃辖,但持續(xù)重復執(zhí)行該函數(shù)兄墅。

setTimeout() 和 setInterval()都屬于 HTML DOM Window 對象的方法


10.5 cookie和本地存儲

Cookie 是在您的計算機上存儲在小的文本文件中的數(shù)據(jù)。

11澳叉、表單與Ajax

HTML 表單驗證能夠通過 JavaScript 來完成隙咸。

如果某個表單字段(fname)是空的,那么該函數(shù)會發(fā)出一條警告消息成洗,并返回 false五督,以防止表單被提交出去。表單提交通常有兩種方式瓶殃,同步提交和異步提交充包。

1、 同步提交遥椿,則是直接通過html的form提交或者在js代碼中觸發(fā)submit()提交方法基矮。同步提交,頁面會直接跳轉(zhuǎn)到請求地址進行重新加載冠场。

2家浇、 異步提交,常用的方式就是ajax


11.1 什么是Ajax

ajax:Asynchronous JavaScript And XML碴裙,它并非編程語言钢悲。它能做的事情:

不刷新頁面更新網(wǎng)頁

在頁面加載后從服務器請求數(shù)據(jù)

在頁面加載后從服務器接收數(shù)據(jù)

在后臺向服務器發(fā)送數(shù)據(jù)

它僅僅是組合了瀏覽器內(nèi)建的 XMLHttpRequest 對象(從 web 服務器請求數(shù)據(jù))点额;JavaScript 和 HTML DOM(顯示或使用數(shù)據(jù))。Ajax 應用程序可能使用 XML 來傳輸數(shù)據(jù)莺琳,但將數(shù)據(jù)作為純文本或 JSON 文本傳輸也同樣常見还棱。

Ajax 允許通過與場景后面的 Web 服務器交換數(shù)據(jù)來異步更新網(wǎng)頁。這意味著可以更新網(wǎng)頁的部分惭等,而不需要重新加載整個頁面珍手。


11.2 基本知識

Ajax 的核心是 XMLHttpRequest 對象。所有現(xiàn)代瀏覽器都支持 XMLHttpRequest 對象辞做。XMLHttpRequest 對象用于同幕后服務器交換數(shù)據(jù)琳要。這意味著可以更新網(wǎng)頁的部分,而不需要重新加載整個頁面凭豪。

XMLHttpRequest 對象向服務器發(fā)送請求:

1焙蹭、open(method, url, async)?????建立請求

method:請求的類型:GET 還是 POST

url:服務器(文件)位置

async:true(異步)或 false(同步)

2、send()?????向服務器發(fā)送請求(用于 GET)

3嫂伞、send(string)????向服務器發(fā)送請求(用于 POST)

服務器響應:

1孔厉、onreadystatechange?????定義了當 readyState 屬性發(fā)生改變時所調(diào)用的函數(shù)。

2帖努、readyState?????保存了 XMLHttpRequest 的狀態(tài)撰豺。

0: 請求未初始化

1: 服務器連接已建立

2: 請求已接收

3: 正在處理請求

4: 請求已完成且響應已就緒

3、status??????響應狀態(tài)

200: "OK"

403: "Forbidden"

404: "Page not found"

statusText?????返回狀態(tài)文本(例如 "OK" 或 "Not Found")


12拼余、JSON

JSON: JavaScript Object Notation(JavaScript 對象標記法)污桦。

JSON 是一種存儲和交換數(shù)據(jù)的語法。

JSON 是通過 JavaScript 對象標記法書寫的文本匙监。

例如:

{"person":[????//數(shù)組

???{ "firstName":"Bill", "lastName":"Gates" },

???{ "firstName":"Steve", "lastName":"Jobs" },

], ?

“str”:’test’,?//字符串

”num”:1627, // 數(shù)字

”float_num”:1.23,

?“other”:{??????//對象

??????“key”:”values”,

??????“bool”:false,?????????//布爾值

??????“none”:Null??????????//空值

?}

}


1凡橱、JSON 的常規(guī)用途是同 web 服務器進行數(shù)據(jù)傳輸。在從 web 服務器接收數(shù)據(jù)時亭姥,數(shù)據(jù)永遠是字符串稼钩。通過 JSON.parse() 解析數(shù)據(jù),這些數(shù)據(jù)會成為 JavaScript 對象达罗。


2坝撑、JSON 的常規(guī)用途是同 web 服務器進行數(shù)據(jù)交換。在向 web 服務器發(fā)送數(shù)據(jù)時粮揉,數(shù)據(jù)必須是字符串巡李。通過JSON.stringify() 把 JavaScript 對象轉(zhuǎn)換為字符串。

13扶认、Jquery

jQuery 是JavaScript的一個庫侨拦,旨在處理瀏覽器不兼容性并簡化 HTML DOM 操作、事件處理蝠引、動畫和 Ajax阳谍。

JQuery常用操作:

$("div").click(function(){});???//點擊

$("#a").width("300");?//寬度設置

$(".a").height("300");?//高度設置

$("input[name=’a’]").css("display",”none”);?//樣式設置

$(".a").css({?color:?"red",?background:?"blue"?});//以名值對的形式設定樣式?

$("#a").addClass("select");?//為元素增加名稱為select的class?

$("#a").removeClass("select");?//刪除元素名稱為select的class?

$("#a").toggleClass("select");?//如果存在(不存在)就刪除(添加)名稱為select的class

$(“#a”).attr(“data-id”);?//屬性值獲取

//表單操作

$("input").val(); //返回表單輸入框的value值

$("input").val("test"); //將表單輸入框的value值設為test

$("input").val(""); //將表單輸入框的value清空

$(“#formId”). serialize() 方法通過序列化表單值蛀柴,創(chuàng)建 URL 編碼文本字符串

$(“#formId”). serializeArray() 通過序列化表單值來創(chuàng)建對象數(shù)組(名稱和值

$.ajax({?????????//ajax請求

?dataType: "json",

?url: url,

?method:”GET” //get post

?data: data,???????//json數(shù)據(jù)傳參

?success: success??????//成功響應函數(shù)

});

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末螃概,一起剝皮案震驚了整個濱河市矫夯,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌吊洼,老刑警劉巖训貌,帶你破解...
    沈念sama閱讀 218,204評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異冒窍,居然都是意外死亡递沪,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,091評論 3 395
  • 文/潘曉璐 我一進店門综液,熙熙樓的掌柜王于貴愁眉苦臉地迎上來款慨,“玉大人,你說我怎么就攤上這事谬莹¢莸欤” “怎么了?”我有些...
    開封第一講書人閱讀 164,548評論 0 354
  • 文/不壞的土叔 我叫張陵附帽,是天一觀的道長埠戳。 經(jīng)常有香客問我,道長蕉扮,這世上最難降的妖魔是什么整胃? 我笑而不...
    開封第一講書人閱讀 58,657評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮喳钟,結(jié)果婚禮上屁使,老公的妹妹穿的比我還像新娘。我一直安慰自己奔则,他們只是感情好蛮寂,可當我...
    茶點故事閱讀 67,689評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著应狱,像睡著了一般共郭。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上疾呻,一...
    開封第一講書人閱讀 51,554評論 1 305
  • 那天除嘹,我揣著相機與錄音,去河邊找鬼岸蜗。 笑死尉咕,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的璃岳。 我是一名探鬼主播年缎,決...
    沈念sama閱讀 40,302評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼悔捶,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了单芜?” 一聲冷哼從身側(cè)響起蜕该,我...
    開封第一講書人閱讀 39,216評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎洲鸠,沒想到半個月后堂淡,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,661評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡扒腕,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,851評論 3 336
  • 正文 我和宋清朗相戀三年绢淀,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片瘾腰。...
    茶點故事閱讀 39,977評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡皆的,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出蹋盆,到底是詐尸還是另有隱情费薄,我是刑警寧澤,帶...
    沈念sama閱讀 35,697評論 5 347
  • 正文 年R本政府宣布怪嫌,位于F島的核電站义锥,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏岩灭。R本人自食惡果不足惜拌倍,卻給世界環(huán)境...
    茶點故事閱讀 41,306評論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望噪径。 院中可真熱鬧柱恤,春花似錦、人聲如沸找爱。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,898評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽车摄。三九已至寺谤,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間吮播,已是汗流浹背变屁。 一陣腳步聲響...
    開封第一講書人閱讀 33,019評論 1 270
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留意狠,地道東北人粟关。 一個月前我還...
    沈念sama閱讀 48,138評論 3 370
  • 正文 我出身青樓,卻偏偏與公主長得像环戈,于是被迫代替她去往敵國和親闷板。 傳聞我的和親對象是個殘疾皇子澎灸,可洞房花燭夜當晚...
    茶點故事閱讀 44,927評論 2 355

推薦閱讀更多精彩內(nèi)容

  • 概要 64學時 3.5學分 章節(jié)安排 電子商務網(wǎng)站概況 HTML5+CSS3 JavaScript Node 電子...
    阿啊阿吖丁閱讀 9,197評論 0 3
  • 第3章 基本概念 3.1 語法 3.2 關鍵字和保留字 3.3 變量 3.4 數(shù)據(jù)類型 5種簡單數(shù)據(jù)類型:Unde...
    RickCole閱讀 5,128評論 0 21
  • 一、JS前言 (1)認識JS 也許你已經(jīng)了解HTML標記(也稱為結(jié)構(gòu))遮晚,知道了CSS樣式(也稱為表示)性昭,會使用HT...
    凜0_0閱讀 2,770評論 0 8
  • HTML 5 HTML5概述 因特網(wǎng)上的信息是以網(wǎng)頁的形式展示給用戶的,因此網(wǎng)頁是網(wǎng)絡信息傳遞的載體鹏漆。網(wǎng)頁文件是用...
    阿啊阿吖丁閱讀 3,890評論 0 0
  • 第1章 認識JS JavaScript能做什么巩梢?1.增強頁面動態(tài)效果(如:下拉菜單创泄、圖片輪播艺玲、信息滾動等)2.實現(xiàn)...
    mo默22閱讀 1,290評論 0 5