亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

JavaScript權(quán)威指南筆記(下)- 客戶端javascript

BlackHole1 / 2275人閱讀

摘要:用來獲取上下文對(duì)象,傳入?yún)?shù)會(huì)獲得對(duì)象,傳入可以獲得圖形的上下文。表示二進(jìn)制大對(duì)象字節(jié)大小類型讀取利用對(duì)象文件系統(tǒng)有效期大小為該文件系統(tǒng)對(duì)象客戶端數(shù)據(jù)庫棄用對(duì)象數(shù)據(jù)庫套接字或者協(xié)議

web瀏覽器中的javascript 在html中嵌入javascript

在script標(biāo)簽里面如果有<、&,會(huì)被當(dāng)成xml標(biāo)記,需要使用如下寫法:

window對(duì)象 瀏覽器定位與導(dǎo)航 載入新的文檔

location.assign()

location.replace()

location.reload() 刷新

瀏覽歷史

history.back()

history.forward()

history.go()

瀏覽器和屏幕信息
navigator:{
   appName:,
   appVersion:,
   userAgent:,
   platform:,
   *onLine:,
   *geolocation:,
   *javaEnabled:,
   *cookieEnable:,
}
// 星號(hào)為未標(biāo)準(zhǔn)化
錯(cuò)誤處理

window.onerror

打開和關(guān)閉窗口

window.open()

window.open().opener

window.close()

窗體之間的關(guān)系

外部獲取iframe內(nèi)容,iframe.contentWindow

iframe內(nèi)部獲取iframe,window.frameElement

window.frames引用自身包含的窗口或窗體的子窗體

腳本化文檔 選取文檔元素

getElementById

getElementByName

getElementByTagName

getElementByClassName

querySelectorAll 接受css選擇器

querySelector 返回第一個(gè)匹配的元素

文檔結(jié)構(gòu)和遍歷 作為節(jié)點(diǎn)樹的文檔

parentNode

childNodes

firstChild,lastChild

nextSibling,previoursSibling

nodeType

nodeValue

nodeName

作為元素樹的文檔

firstElementChild,lastElementChild

nextElementChild,previoursElementChild

childElementCount

獲取和設(shè)置非標(biāo)準(zhǔn)HTML屬性

getAttribute()

setAttribute()

hasAttribute()

removeAttribute()

操作來自其他命名空間中屬性的xml文檔,可以使用如下方法,第一參數(shù)為標(biāo)識(shí)命名空間的uri,第二個(gè)為屬性的本地名字

getAttributeNS()

setAttributeNS()

hasAttributeNS()

removeAttributeNS()

作為html的元素內(nèi)容

insertAdjacentHTML() 在指定元素相鄰位置插入標(biāo)記,第一個(gè)參數(shù)為位置(beforebegin、afterbegin、beforeend,afterend),第二個(gè)參數(shù)為插入的標(biāo)記

作為純文本的元素內(nèi)容

node.textContent 讀取或者獲取文本內(nèi)容,ie使用innerText

創(chuàng)建、插入和刪除節(jié)點(diǎn) 創(chuàng)建節(jié)點(diǎn)

createElement 創(chuàng)建Element節(jié)點(diǎn)

createTextNode 創(chuàng)建文本節(jié)點(diǎn)

cloneNode 復(fù)制節(jié)點(diǎn)

importNode

插入節(jié)點(diǎn)

Node.appendChild

Node.insertBefore

刪除和替換節(jié)點(diǎn)

removeChild

replaceChild

文檔和元素的幾何形狀和滾動(dòng)

????????

html表單 表單和元素的屬性

type

form

name

value

方法:

reset()

submit()

表單和元素的事件處理程序

不會(huì)被reset()和submit()觸發(fā),僅被按鈕觸發(fā)

onsubmit

onreset

可以通過在事件中返回false來阻止默認(rèn)事件執(zhí)行

其他文檔屬性

cookie

domain

lastModified

location

referrer

title

URL

document.writr()方法

查詢選取的文本

window.getSelection()

可編輯內(nèi)容

元素屬性contenteditable

Document的designMode屬性為on,整個(gè)文檔可以編輯

執(zhí)行元素編輯命令,execCommand()

腳本化CSS CSS概覽 層疊

CSS中的C代表層疊,有低到高順序?yàn)椋?/p>

web瀏覽器的默認(rèn)樣式

文檔的樣式表

每個(gè)html元素的style屬性

事件處理

異步事件驅(qū)動(dòng)編程模型

18.腳本化HTTP

Ajax:Asynchronous JavaScript and XML

實(shí)現(xiàn)Ajax和Comet方式:

img標(biāo)簽的src

iframe的src(跨域)

scritp(即JSONP,不跨域)

XMLHttpRequest對(duì)象

使用XMLHttpRequest
var request= new XMLHttpRequest();

http請(qǐng)求組成:

http請(qǐng)求方法或動(dòng)作

正在請(qǐng)求的url

一個(gè)可選的請(qǐng)求頭集合

一個(gè)可選的請(qǐng)求主體

服務(wù)器返回的http響應(yīng)組成:

一個(gè)由數(shù)字和文字組成的狀態(tài)碼,標(biāo)識(shí)請(qǐng)求成功或者失敗

一個(gè)響應(yīng)頭集合

響應(yīng)主體

指定請(qǐng)求

調(diào)用open方法

第一個(gè)參數(shù)指定HTTP方法或者動(dòng)作,第二個(gè)參數(shù)指定請(qǐng)求的URL

var request= new XMLHttpRequest();
var request.open("GET","data.csv");

添加頭部

var request.setRequestHeader("Conten-Type","text/plain") //設(shè)置頭部

以下頭部不能自己設(shè)置:
QQ瀏覽器截圖20181109130830

發(fā)送請(qǐng)求

request.send(null);
// send參數(shù)為請(qǐng)求主體
取得響應(yīng)

status和statusText以數(shù)字和文本形式返回HTTP狀態(tài)碼

getResponseHeader()和getAllResponseHeaders()查詢響應(yīng)頭

responseText中獲取文本形式的響應(yīng)主體,responseXML中獲取Document形式的響應(yīng)主體

readyState屬性標(biāo)識(shí)響應(yīng)狀態(tài):

QQ瀏覽器截圖20181109132343

readystatechange綁定事件處理程序,readyState改變均會(huì)觸發(fā)此事件,也可以使用addEventListener

QQ瀏覽器截圖20181109132556

同步響應(yīng)

open的第三個(gè)參數(shù)傳false,將使用同步響應(yīng),此時(shí)不需要事件處理程序

響應(yīng)編碼

request.overrideMimeType("text/plain;charset=utf-8")

HTTP進(jìn)度事件

調(diào)用send時(shí)觸發(fā)loadstart()

加載服務(wù)器響應(yīng)時(shí),觸發(fā)progress

超時(shí)觸發(fā)timeout()

中止觸發(fā)abort()

錯(cuò)誤觸發(fā)error()

progress常用屬性:

loaded:目前傳輸?shù)淖止?jié)數(shù)

total:整體字節(jié)長(zhǎng)度

中止請(qǐng)求和超時(shí)

abort()

跨域HTTP請(qǐng)求

CORS:跨域資源共享

借助 繪制線段和填充多邊形
c.beginPath() //開始一條新路徑
c.moveTo(100,100) //從(100,100)開始定義一條新的子路徑
c.lineTo(200,200) //從(100,100)到(200,200)繪制一條線段
c.fill() // 填充區(qū)域
c.stroke() // 勾勒線段
c.closePath()  // 關(guān)閉路徑,即將終點(diǎn)和起點(diǎn)連接起來
非零繞數(shù)原則

QQ瀏覽器截圖20181117190737

圖形屬性

QQ瀏覽器截圖20181117191058
QQ瀏覽器截圖20181117191109

save()將當(dāng)前圖形狀態(tài)壓入用于保存狀態(tài)的棧上

restore() 從棧中彈出并恢復(fù)最近一次保存的狀態(tài)

畫布的尺寸和坐標(biāo)

尺寸:canvas元素的width和height屬性和畫布對(duì)象的寬度高度決定畫布的尺寸

坐標(biāo):畫布左上角為原點(diǎn)

坐標(biāo)系轉(zhuǎn)換

當(dāng)前變換矩陣:定義畫布的當(dāng)前坐標(biāo)系

繪制和填充曲線

QQ瀏覽器截圖20181117195232

矩形

fillRect()

stokeRect()

clearRect()

rect()

顏色、透明度、漸變以及圖案

strokeStyle、fillStyle

globalAlpha

利用createPattern()方法填充圖案

var image = document.getElementById("myimage")
c.fillStyle=c.createPattern(image,"repeat")
// 第一個(gè)參數(shù)指定填充的圖案,可以是img元素(包括通過Image構(gòu)造函數(shù)創(chuàng)建)、canvas元素、video元素;第二個(gè)參數(shù)定義平鋪方式

利用CanvasGradient對(duì)象創(chuàng)建漸變

QQ瀏覽器截圖20181117201131

線段繪制相關(guān)的屬性

lineWidth:默認(rèn)為1,任意正數(shù),小于1的小數(shù)時(shí)繪制半透明

lineCap:封頂

lineJoin

QQ瀏覽器截圖20181117201749

文本

fillText()/strokeText():

第一個(gè)參數(shù)為文本內(nèi)容

第二個(gè)和第三個(gè)參數(shù)分別為繪制X、Y坐標(biāo)

textAlign/textBaseline

QQ瀏覽器截圖20181117201749

第四個(gè)參數(shù)指定顯示寬度,如果文本溢出則會(huì)縮放畫布或者采用更窄更小的字體

在繪制前可以通過measureText()度量文本寬度

裁剪

clip()

陰影

shadowColor:顏色

shadowOffsetX、shadowOffsetY偏移量

shadowBlur模糊度

圖片

drawImage():

第一個(gè)參數(shù)為圖片源,可以是img元素(包括通過Image構(gòu)造函數(shù)創(chuàng)建)、canvas元素、video元素

第二個(gè)和第三個(gè)參數(shù)分別為繪制X、Y坐標(biāo)

如果傳遞5個(gè)參數(shù),剩余兩個(gè)指定寬高

如果傳遞9個(gè)參數(shù),2~5參數(shù)指定源矩形區(qū)域,6~9指定目標(biāo)矩形區(qū)域

toDataURL(),畫布元素自身的方法,提取成一張圖片,同源限制

第一個(gè)參數(shù)指定MIME類型,默認(rèn)png

合成

QQ瀏覽器截圖20181117204539
QQ瀏覽器截圖20181117204604

像素操作

QQ瀏覽器截圖20181117204940

命中檢測(cè)

isPointInPath() 指定點(diǎn)是否在路徑上

getImageData() 檢測(cè)指定點(diǎn)是否已繪制

HTML5 API 地理位置

navigator.geolocation

navigator.geolocation.getCurrentPosition() // 獲取當(dāng)前位置,異步
navigator.geolocation.wathcPosition() // 獲取并監(jiān)聽當(dāng)前位置,改變觸發(fā)回調(diào),異步
navigator.geolocation.clearWatch() //停止監(jiān)聽 
歷史記錄管理

location.hash、hashchange

history.pushState()、popstate、history.replaceState()

跨域消息傳遞

postMessage(data數(shù)據(jù),url目標(biāo)窗口源),觸發(fā)目標(biāo)窗口window.onmessage,事件對(duì)象屬性:

data:內(nèi)容

source:消息來源window

origin:消息來源url

Web Worker Worker對(duì)象
let worke= new Worker("./worker.js") // 創(chuàng)建worker實(shí)例
// 如果地址是絕對(duì)地址,那么受同源策略限制
worke.postMessage(data) // 將數(shù)據(jù)傳遞(結(jié)構(gòu)性復(fù)制)給worker

// 在worker對(duì)象中接受消息
worke.onmessage=function(e){
    let data=e.data
}
// 捕捉錯(cuò)誤
worke.onerror=function(e){
    console.log(e.filename)
    console.log(e.lineno)
}
// 也可以使用addEventListener和removeEventListener代替以上方法

worke.terminate() // 使用完關(guān)閉進(jìn)程
worker作用域

創(chuàng)建的worker在一個(gè)全新的運(yùn)行環(huán)境中,即WorkerGlobalScope全局對(duì)象,該對(duì)象有如下屬性和方法:

onmessage=fn(e) 接受外部傳來的數(shù)據(jù)

postMessage(data) 發(fā)送消息出去

close() 關(guān)閉當(dāng)前worker

importScript(url1,url2...) 加載庫代碼 同步

self 自身引用

計(jì)時(shí)器相關(guān)

location

navigator

常用的事件目標(biāo)方法,addEventLisitener、removeEventListener

onerror

類型化數(shù)組和ArrayBuffer

類數(shù)組對(duì)象,和常規(guī)數(shù)組區(qū)別:

類型化數(shù)組元素均為數(shù)字,在創(chuàng)建時(shí)就決定了數(shù)組中數(shù)字的類型和大?。▎挝唬何唬?/p>

類型化數(shù)組有固定長(zhǎng)度

在創(chuàng)建類型化數(shù)組時(shí),數(shù)組中元素總是默認(rèn)為0

一共有8種:
微信截圖_20181119223833
方法:

set() 將一個(gè)常規(guī)或者類型化數(shù)組復(fù)制到另外一個(gè)類型化數(shù)組中

let bytes=new Uint8Array(1024)
let pattern=new Uint8Array([0,1,2,3])
bytes.set(pattern)
bytes.set(pattern,4) // 4為偏移量
bytes.set([0,1,2,3],8)

subarray(start,end) 返回部分內(nèi)容

DataView定義了8個(gè)set和get方法

Blob

是對(duì)大數(shù)據(jù)塊的不透明引用或者句柄。表示二進(jìn)制大對(duì)象

let blob= new BlobBuilder()
blob.append("data")
blob.size //字節(jié)大小
blob.type // MIME類型
blob.slice(0,1024,"text/plain")
讀取blob

利用FileReader對(duì)象

文件系統(tǒng)API
let fs = requestFileSystemSync(PERSISTENT,1024*1024)
requestFileSystemSync(TEMPORARY,// 有效期
    50*1024*1024,// 大小:50MB
    function(fs){//fs為該文件系統(tǒng)對(duì)象 
    
    },function(err){

    
})
客戶端數(shù)據(jù)庫

webSQL 棄用

indexedDB 對(duì)象數(shù)據(jù)庫

let indexedDB=window.indexedDB
let request=indexedDB.open("dbName")
request.onerror=function(err){}
request.onsuccess=function(){
    let db=request.result
}
web套接字
let socket=new WebSocket(url) // ws://或者wss://協(xié)議
socket.onopen=function(e){}
socket.onclose=function(e){}
socket.onerror=function(e){}
socket.onmessage=function(e){}
socket.send("hello")
socket.close()

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/100894.html

相關(guān)文章

  • JavaScript 權(quán)威指南》讀書筆記 1 - 簡(jiǎn)介

    摘要:原文第一章主要介紹的大概情況基本語法。通過和來引用對(duì)象屬性或數(shù)組元素的值就構(gòu)成一個(gè)表達(dá)式。 原文:https://keelii.github.io/2016/06/16/javascript-definitive-guide-note-0/ 第一章 主要介紹 JavaScript 的大概情況、基本語法。之前沒有 JavaScript 基礎(chǔ)的看不懂也沒關(guān)系,后續(xù)章節(jié)會(huì)有進(jìn)一步的詳細(xì)說明...

    sydMobile 評(píng)論0 收藏0
  • JavaScript 權(quán)威指南筆記 - 可選的分號(hào)

    摘要:分號(hào)只有缺少分號(hào)無法正確解析代碼的時(shí)候會(huì)自動(dòng)添加分號(hào)但例外,如果這三個(gè)關(guān)鍵字緊接著換行,會(huì)自動(dòng)填補(bǔ)分號(hào)和例外,會(huì)自動(dòng)作為下一行代碼的前綴操作符 分號(hào) 只有缺少分號(hào)無法正確解析代碼的時(shí)候會(huì)自動(dòng)添加分號(hào) var a a = 3 => var a; a = 3; var y = x + f (a + b).toString() => var y = x + f(a + b).toStrin...

    Lyux 評(píng)論0 收藏0
  • MongoDB權(quán)威指南讀書筆記(一)

    摘要:如果沒有找到找到符合條件的文檔,就會(huì)以這個(gè)條件和更新文檔為基礎(chǔ)新建一個(gè)新的文檔。使用它可以快速方便的對(duì)文檔進(jìn)行更新。更新多個(gè)文檔默認(rèn)情況下,文檔的更新只針對(duì)第一個(gè)匹配到的文檔,多個(gè)條件符合時(shí),其它文檔不會(huì)改變。 what is MongoDB ? 面向文檔的數(shù)據(jù)庫 不再有行的概念,不再有預(yù)定義模式 易于拓展 豐富的功能 索引 聚合 特殊的集合類型 文件存儲(chǔ) 高性能 可以一個(gè)示...

    Barrior 評(píng)論0 收藏0
  • MongoDB權(quán)威指南讀書筆記(一)

    摘要:如果沒有找到找到符合條件的文檔,就會(huì)以這個(gè)條件和更新文檔為基礎(chǔ)新建一個(gè)新的文檔。使用它可以快速方便的對(duì)文檔進(jìn)行更新。更新多個(gè)文檔默認(rèn)情況下,文檔的更新只針對(duì)第一個(gè)匹配到的文檔,多個(gè)條件符合時(shí),其它文檔不會(huì)改變。 what is MongoDB ? 面向文檔的數(shù)據(jù)庫 不再有行的概念,不再有預(yù)定義模式 易于拓展 豐富的功能 索引 聚合 特殊的集合類型 文件存儲(chǔ) 高性能 可以一個(gè)示...

    sixleaves 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<