1. 程式人生 > >從零開始的全棧工程師——js篇2.19(BOM)

從零開始的全棧工程師——js篇2.19(BOM)

一、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)