欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

javascript包裝,js基本包裝類型

javascript中如何將帶參數函數包裝成無參數函數

div.onclick = div_onclick; //為事件綁定事件函數function div_onclick(){alert("div onclick event"); var div = document.createElement("div"); div.onclick = div_onclick(str); //----------------錯誤的代碼function div_onclick(str){alert(str); }其中錯誤的那行代碼的真實運行情況應該是:先以str作為參數調用div_onclick函數,顯然,調用的結果就是彈出了alert窗口,點擊確定后,div_onclick函數將返回,返回值再給div.onclick賦值,這和我們打算將函數div_onclick綁定到div.onclick上的初衷是不符合的。這就存在了一個問題,我們既要為div.onclick綁定一個函數,又要能夠為綁定的函數傳遞一些參數,顯然,我們需要能夠將帶參數的函數以及我們想要傳遞給它的參數一起包裝成一個無參數的新函數,再將這個無參數的新函數綁定到相應的事件上面去,實現的方法有好多種,這里介紹一種比較簡單通用的方法,這種方法可以將任意一個帶參數的函數包裝為一個不帶參數的函數,該方法要求添加如下函數定義:Function.prototype.bind = function(){var __method = this; var arg = arguments; return function() { __method.apply(window, arg);}}關于這個函數的實現就不再多解釋了,這里只說明一點,這個代碼段是為所有的函數定義了一個函數名為bind的公共靜態(tài)函數,由于javascript的面向對象的特性,使得任何一個以function來定義的函數本身都是一個Function類,關于上面的函數定義方式,請參閱《Javascript——Prototype Based Language》。將上面的函數加入到你的文件中,就可以使用它來將帶參數的函數包裝成一個無參數函數了。在div的例子中,我們將得到如下的代碼:Function.prototype.bind = function(){var __method = this; var arg = arguments; return function() { __method.apply(window, arg);}}var str = "div onclick event"; var div = document.createElement("div"); div.onclick = div_onclick.bind(str); //將帶參數的函數包裝成無參數的函數function div_onclick(str){alert(str); }這樣,就能實現我們的初衷了。更復雜的,參數可以是多個,也可以是任意類型的。這里我給出兩個例子,以說明這種應用。

公司主營業(yè)務:網站設計制作、成都網站建設、移動網站開發(fā)等業(yè)務。幫助企業(yè)客戶真正實現互聯網宣傳,提高企業(yè)的競爭能力。創(chuàng)新互聯是一支青春激揚、勤奮敬業(yè)、活力青春激揚、勤奮敬業(yè)、活力澎湃、和諧高效的團隊。公司秉承以“開放、自由、嚴謹、自律”為核心的企業(yè)文化,感謝他們對我們的高要求,感謝他們從不同領域給我們帶來的挑戰(zhàn),讓我們激情的團隊有機會用頭腦與智慧不斷的給客戶帶來驚喜。創(chuàng)新互聯推出偏關免費做網站回饋大家。

js中什么叫包裝類型

基本包裝類型:內部創(chuàng)建對象,可以調用它自己內部的特殊行為

javascript的基本包裝類型

如果你是真的要搞懂JavaScript的話, 請拋棄Java類似的基本/包裝/引用等概念

在ECMA-262規(guī)范中, ECMAScript/JavaScript(下簡稱ES)只有七種類型

Undefined, Null, Boolean, String, Symbol, Number, Object

至於Function, Array等都是繼承自Object的類型

不過你的問題, 按照一般的思考方式, 仍舊是可以回答的

1. B/S/N是基本類型, 不具有引用類型的特徵, 你能夠訪問基本類型的屬性

例如

'a string'.replace()

30 .toString(16)

是因為ES的解釋器會生成臨時對象, 并以這個對象為this進行了函數調用

2. 基本類型不具有屬性和方法, 引用類型可以有屬性和方法

包裝類型可以有也可以沒有, 解釋引擎可以在這個問題上任意實現

3. 包裝類型是臨時的, 由解釋引擎決定如何進行的, 是純腳本層面不接觸的

引用類型就是對象

當前標題:javascript包裝,js基本包裝類型
網站地址:http://www.chinadenli.net/article38/dsedopp.html

成都網站建設公司_創(chuàng)新互聯,為您提供靜態(tài)網站手機網站建設云服務器營銷型網站建設網站設計公司虛擬主機

廣告

聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯

綿陽服務器托管