property:只是一個js對象的屬性的修改css
var obj = {x:100, y:200}
console.log(obj.x) //100
var p = document.getElementsByTagName('p')[0]
console.log(p.nodeName) // P 這是字符串
//nodeName就是js對象p的一個property,js對象的標準屬性
複製代碼
Attribute: 是對html標籤的屬性的修改html
//attribute 更改的是文檔代碼中的屬性,如style,class,src等
var pList = document.querySelectorAll('p')
var p = pList[0]
p.getAttribute('data-name')
p.setAttribute('data-name', 'imooc')
複製代碼
其實dom操做獲取的就是js的對象,是個對象格式前端
//screen
console.log(screen.width)
console.log(screen.height)
//history
history.back() //返回
history.forward() //前進
複製代碼
` <div id="div1"> <a href="#">a1</a> <a href="#">a2</a> <a href="#">a3</a> <a href="#">a4</a> </div> `
var div1 = document.getElementById('div1')
//根據事件冒泡機制
div1.addEventListener('click', function (e) {
var target = e.target
if (target.nodeName === 'A') {
alert(target.innerHITML)
}
})
複製代碼
function bindEvent(elem, type, selector, fn) {
if (fn == null) {
fn = selector
selector = null
}
elem.addEventListener(type, function (e) {
var target
if (selector){
//代理
target = e.target
//matches判斷dom節點是否和選擇器匹配的
if (target.matches(selector)){
fn.call(traget, e)
}
}else{
//不是代理
fn(e)
}
})
}
var div1 = document.getElementById('div1')
bindEvent(div1, 'click', 'a', function(e){
e.preventDefault()
console.log(this.innerHTML)
})
複製代碼
var xhr = new XMLHttpRequest()
xhr.open('GET', '/api', false) //false表示是異步請求
xhr.onreadystatechange = function () {
if (xhr.readystate == 4) {
if (xhr.status == 200) {
alert(xhr.responseText)
}
}
}
xhr.send(null)
複製代碼
狀態碼說明readyStatenode
0-未初始化,尚未調動send方法webpack
1-載入,已經調用send方法,正在發送請求ios
2-載入完成,send方法執行完成,已經接收到所有響應內容web
3-交互,正在解析響應內容ajax
4-完成,響應內容解析完成,能夠在客戶端調用了npm
狀態碼status說明json
2xx-表示成功處理請求。如200
3xx-表示須要重定向,瀏覽器直接跳轉
4xx-客戶端請求錯誤,如404
5xx-服務端錯誤
HTML5專門爲存儲和設計,最大容量5M
API加單易用
localStorage.setItem(key, value), localStorage.getItem(key)
倆區別:
一、localStorage只要不清,會一直存在
二、sessionStorage,是瀏覽器關了,就會清除
ios safari 隱藏模式下,localStorage.getItem 會報錯,統一建議使用try-catch包一下
var path = require('path')
var webpack = require('webpack')
module.exports = {
context:path.resolve(__dirname, './src'),
//入口文件
entry: {
app: './app.js'
},
//打包輸出文件
output: {
path: path.resoleve(__dirname, './dist'),
filename: 'bundle.js'
},
//文件壓縮
plugins: [
new webpack.optimize.UglifyJsPlugin()
]
}
複製代碼