從零開始的全棧工程師——js篇2.19(BOM)
阿新 • • 發佈:2018-11-29
一、BOM 瀏覽器物件模型
1.window.open(url,ways)
url 是開啟的網頁地址
ways 開啟的方式 _self
2.window.close() 關閉當前頁面
3.window.navigator() .userAgent 瀏覽器使用者資訊 <--後期靠他解決瀏覽器的相容性
4.window.location() 瀏覽器地址資訊
5.window.history 返回上一頁
window.history .back() 返回
widnow.history.forward()前進
history:記錄瀏覽器的訪問歷史記錄
二、函式的解析
函式的解析
函式如果把他當做函式看 就只能起到函式的意義 可以封裝
如果說我們把函式當做函式物件來看 就可以實現一些繼承了
函式原型鏈上天生自帶三個方法 call() apply() bind()
這三個方法可以改變函式內的this指向
1.call
A.call(B,c,d) B取代了A中的this然後把B給呼叫了
function add(a,b){
console.log(this)
return a+b
}
function jian(a,b){
return a-b
}
// add(5,3)
var s=add.call(jian,5,6)
console.log(s)
jian取代了add中this ,然後把add給呼叫了
2.apply
A.apply(B,[c,d])applay後面的實參寫在數組裡
3.call和apply的區別
案例:
Math.max(34,,45,6,12) 找出這些數字中的最大項,但是引數必須是數字。
現在我們有個arr=[24,25,56,5] 想通過math找到裡面的最大項
Var s=Math.max.apply(null,arr)