Javascript中的單件模式

後台開發的童鞋應該會曉得“單件模式”,撇開具體的實現方式通俗說就是“一個類有且只有一個實體”.在c#裡面習慣用"類X.Instance"來引用類X的單件,而且不能用new關鍵字建立其他實體。在JS裡面,單件模式是隨處可見隨手可得,匿名對象(又名:列舉對象)本身就是單件。Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->var obj={

Javascript最佳實務-應用Module Pattern>盡量減少全域變數

在基於Html的應用中,js的全域變數比較邪惡,一來容易與別人的js代碼或js架構產生衝突,二來影響頁面效能。兩年前Levin曾經看到過Douglas Crockford(http://www.crockford.com/)提到的module pattern of javascript,利用這種代碼模式可以最低限度的減少全域變數汙染dom上下文,後來Yahoo的js架構YUI便採用了這種模式。Levin當然也不例外,並在原先的module

JavaScript與網頁效能

JavaScript的載入和運行,對網頁的效能有至關重要的作用。通常我們會採取以下方式來最佳化指令碼:1、將指令碼放在頁面底部。JavaScript有阻塞的特徵,當JavaScript運行時其他的事情不能被瀏覽器處理。大部分老版本瀏覽器是不允許JavaScript並行下載的。雖然IE8,Firefox3.5,Safari4,Chrome2允許並行下載JavaScript檔案,但仍然要阻塞其他資源的下載過程,例片。即使指令碼之間的下載過程互不阻塞,頁面仍然要等待所有JavaScript代碼下載並執

JavaScript 常見基礎問題一

1、JavaScript:window.onload操作//JavaScript:window.onload操作 function first() { alert('first');}function second() { alert('second');}window.onload = first;window.onload = second;//只會執行第二個window.onload;//不過可以通過以下方法來進行改進: window.onload = function(){

JSNinja-《Eloquent Javascript》讀書筆記2-事件和HTTP Request

朋友推薦的一本書(http://eloquentjavascript.net/),趁最近不忙看了下。總的來說這本書一般吧,不大適合JS入門讀者,因為裡面的例子比較敗筆,比較學術性不夠生動和切符實際工作應用。對於JS的書,個人還是推薦《head first javascript》~事實上據說head

JavaScript Array 對象擴充方法

/** 刪除數組中指定索引的資料 **/Array.prototype.deleteAt = function (index) { if (index < 0) { return this; } return this.slice(0, index).concat(this.slice(index + 1, this.length));}/** 數組洗牌 **/Array.prototype.random = function () { var

JavaScript String 對象擴充方法

/** 在字串末尾追加字串 **/String.prototype.append = function (str) { return this.concat(str);}/** 刪除指定索引位置的字元,索引無效將不刪除任何字元 **/String.prototype.deleteCharAt = function (index) { if (index < 0 || index >= this.length) { return this.valueOf();

拖動表列改變table的列寬度(JavaScript指令碼實現)

拖動表列改變table的列寬度,用JavaScript指令碼實現,在項目中正好用到,收藏!見下面代碼。。。<html><head><meta http-equiv="Content-Type" content="text/html; charset=gb2312"> <style>.resizeDivClass{position:relative;background-color:red;width:2;z-index:1;left:express

【記錄】Javascript擷取Dom元素位置

有時候項目中會用到用js擷取元素位置來定位元素,其實也很簡單DOM的定義如 擷取元素的位置屬性可以通過HTMLElement.offsetLeftHTMLElement.offsetTop但是,這兩個屬性所儲存的數值並不是該元素相對整個瀏覽器畫布的絕對位置,而是相對於其父元素位置的相對位置,也就是說這兩個數值得到的是以其

【記錄】用Javascript實現文字框textarea高度隨內容自動適應增長收縮

 // 最小高度    var minRows = 5;    // 最大高度,超過則出現捲軸    var maxRows = 12;    function autoResize(){        var t = document.getElementById('txt');        if (t.scrollTop == 0) t.scrollTop=1;        while (t.scrollTop == 0){            if (t.rows > minR

[圖解] 你不知道的 JavaScript – “this”)

JavaScript 裡的 this 到底指得是什嗎?很多人都會告訴你 this 指的是當前對象。這樣理解對嗎?在大多數情況下確實沒錯。比如我們經常會在網頁上寫這樣的

javascript改變this指標

今天寫代碼時遇到一個問題,this指標的問題,先把代碼貼上<script type="text/javascript">window.onload=function(){    var m=new main('aaaa');    m.run();}var main=function(param){     this.param=param;     this.run=function()     {     setTimeout(this.Change,3000);     }  

由淺到深瞭解JavaScript類[轉過來的收藏]

由淺到深瞭解JavaScript類最近在無憂指令碼混了一陣子,回複了一些貼子,自己卻沒有做出什麼東東讓大家看看,心裡有些不安,於是寫了下邊的一點東西,本來應該發在類封裝區的,考慮到那裡比較冷,而這篇文章我希望能夠協助到更多的朋友,因此放到這裡來了。>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>&g

javascript刪除元素節點

在javascript操作dom樹的時候可能會經常遇到增加,刪除節點的事情,比如一個輸入框後一個增加按鈕,一個刪除按鈕,點擊增加就增加個輸入框,點擊刪除就刪除對應的輸入框。在一些js架構,如Prototype中,可以用element.remove()來刪除一個節點,核心JS中並沒有這樣的方法,IE中有這樣一個方法:removeNode(),嘗試運行下面的代碼<div><input onclick="removeNode(this)" type="text"

使用jQuery架構javascript基礎體系

jQuery的使用開始成為javascript開發人員的主選產品,但如果沒有一個整體的規劃,簡單的拿來主義勢必帶來後期維護成本的增加,大量的jQuery外掛程式如同一把雙刃劍,一方面大大節省了開發時間與周期,但同時也造成WEB頁面載入的負擔,帶來的難護與二級擴充成本將非常龐大,因此,在使用之前就需要一個最基礎的javascript架構體系,能明顯基礎功能組件,外掛程式組件有效實施與擴充。我們想,jQuery畢竟還只是一個基礎的最底層的工具集,封裝元素選取器,事件等等,基本上能滿足一般的需求,但要

js對象字面量

對象字面量的輸出方式以及定義好處1.對象字面量的輸出方式有兩種:傳統的‘。’,以及數組方式,只不過用數組方式輸出時,方括弧裡面要用引號括起來,如var box = { name:’abc’; age:28};alert(box[‘name’]);給對象定義方法,A:如果用傳統定義對象的方式,就需要先定義方法,然後再把這個方法名賦值給對象的一個屬性,如果要調用這個方法不加括弧,就是返回方法代碼;如果要調用這個方法該對象屬性後面加上括弧,就得到方法的傳回值function objrun(){

JavaScript也可以玩私人方法

JavaScript中有一個特性:任何兩個對象都不相等也不全等利用這個特點,我們也可以讓JavaScript玩一個私人方法出來.具體思路如下:  我們利用Key對比的方式,如果Key相等則可以調用,否則就出錯.當然也得把這個Key給藏起來.  代碼如下:;;;(function(){ var Key = {} // 我們要用到有Key window['MyObj'] = { _say : function( msg , key ){ if (

JavaScript 判斷運算式的那點事

    首先很不好意思的用了一個“判斷運算式”的詞,別細糾。嘿    我們用這樣的一個例子開始:0 == "" //true0 === "" //false     顯然,這樣的測試沒有意思。一眼就看到結果了。==是等於 ===是全等。JavaScript在邏輯判斷時,如果運算式使用的是 == 那麼,運算式就會被強型別轉換。 而===不會幹這事。所以得到了以上結果。    回到==強型別轉換問題,灰鴿給我們總結的非常好,給大家分享下:   左值為數字,右值轉數字。左值為字串,右值傳字串。 

在UpdatePanel中內嵌Javascript的問題以及解決方案

最近總在微軟AJAX論壇上遇到關於在UpdatePanel中內嵌Javascript的問題.問題出現的原因是AJAX只是用從伺服器端返回的資料替代代表某個UpdatePanel的DIV的InnerHTML.而這些內容並沒有被Javascript解譯器解釋執行.其中所有的Javascript都不可使用.而用ScriptManager註冊的Javascript被放在一個單獨的地方返回,並且AJAX會顯式地載入它們.那麼我們可不可以直接在客戶段手動地載入內嵌的Javascript呢?畢竟使用內嵌的Ja

[FW]: A JavaScript Module Pattern

A JavaScript Module PatternJune 12, 2007 at 12:28 pm by Eric Miraglia | In Development | 97 CommentsEric Miraglia is an engineering manager for the YUI project at Yahoo. Eric has been at Yahoo since 2003, working on projects ranging from Yahoo

總頁數: 3271 1 .... 343 344 345 346 347 .... 3271 Go to: 前往

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.