日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

window对象总结

發布時間:2023/12/15 综合教程 27 生活家
生活随笔 收集整理的這篇文章主要介紹了 window对象总结 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

本地對象:獨立于宿主環境的ECMAScript實現提供的對象。常見的本地對象有:Object、Function、Array、String、Boolean、Number 、Date、RegExp、Error等。

內置對象:內置對象不需要實例化,主要是Global對象和Math對象;

Global對象:它是ECMAScript中最特別的對象,因為實際上它根本不存在,但大家要清楚,在ECMAScript中,不存在獨立的函數,所有函數都必須是某個對象的方法。類似于parseFloat( )、parseInt( )、escape( )、unescape( )、isFinite( )、isNaN( )、eval( )、encodeURI()和 encodeURIComponent(),看起來都是函數,而實際上,它們都是Global對象的方法。

window對象:ECMAScript 沒有指出如何直接訪問 Global 對象,但瀏覽器都是將Global對象作為window 對象的一部分加以實現的。因此,在全局作用域中聲明的所有變量和函數,就都成為了 window對象的屬性。

Global對象和Window對象的對比

而Global對象是在任何環境中都存在的。

全局函數和window對象的函數不一樣。全局函數不屬于任何一個內置對象。

跟繼承沒有關系,可以認為瀏覽器默認提供使用的對象,都放到了Global對象中,而window對象又恰好就是這個Global對象。實際上,在瀏覽器的內部實現中,隱藏了真正的Global對象,而把window對象作為了Global對象的替身。一切對Global對象的操作(間接操作),都會映射到window對象上,反之亦然。這樣window對象就成了Global對象的替身。而window對象同時又作為Global對象的一個屬性。這樣,真正的Global對象就被雪藏了。

實際應用:

1.加密js中,如果想對Global對象對象加密,可以用一個特殊的變量注冊到window里。例如:

window['_ab'] = window['parseInt']
var a = _ab('234');
console.log(a,'打印');

這樣就實現了一個簡單的js加密。常用的,可以使用這種方式加密的:Date,Math,parseInt,parseFloat,Array等


2.對js對象方法的加密。例如:getTime方法

 window['_df'] = window['Date']
 window["_w3"] = 'getTime'
 var b = new _df()
 var c = b[_w3]()
console.log(c,'打印')

或者可以利用閉包

window['_df'] = window['Date']
window["_w3"] = _vP('getTime')
 function _vP (_BT) {
        return function () {
            return _BT
        }
   }
 var b = new _df()
var c = b[_w3()]()
console.log(c,'打印')

總結

以上是生活随笔為你收集整理的window对象总结的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。