Time of Update: 2018-12-08
還有,“通過事件機制,可以將類設計為獨立的模組,通過事件對外通訊,提高了程式的開發效率。”。相信C#程式員對事件的好處是深有體會的。好了,Code is cheap.看代碼: function class1() { // 最簡單的事件設計模式 } class1.prototype = { show: function () { this .onShow(); }, onShow: function () { } } function test() { var obj = new class1()
Time of Update: 2018-12-08
再記錄一下 Javascript訪問樣式表 Javascript可以訪問網頁中元素的style屬性,例如: <div id="main" style="background-color:red"></div> 通過js訪問style屬性 alert(document.getElementById("main").style.backgroundColor); 通過js改變style屬性
Time of Update: 2018-12-08
下午去了趟使用者現場,感覺此問題確實比較蹊蹺,最後發現出問題的電腦是WIN 2000的作業系統,感覺問題癥結可能就在此處,上網google一下,發現原來Media Player 11不支援Win2000系統,需要針對使用者作業系統版本判斷使用者下載播放器版本,讓Win2000使用者下載Media Player 9即可。 好了,問題原因找到了,解決問題就是很簡單的事情了。 下面主要說一下用JavaScript如何判斷使用者作業系統及版本。 關鍵區段:
Time of Update: 2018-12-08
非常好的想法包括函數,弱類型,動態對象和一個富有表現力的對象字面量的標記法, 壞的想法包括基於全域變數的編程模型。 JavaScript的函數是基於詞法範圍的頂級對象。Javascript是第一個成為主流的Lambda語言。相對於Java而言,JavaScript於Lisp和Scheme有更多的共同點。它是披著C外衣的Lisp。這使得JavaScript成為一個非常強大的語言。
Time of Update: 2018-12-08
arrayobj.sort(sortfunction); 參數:sortFunction 可選項。是用來確定元素順序的函數的名稱。如果這個參數被省略,那麼元素將按照 ASCII 字元順序進行升序排列。 sort 方法將 Array 對象進行適當的排序;在執行過程中並不會建立新的 Array 對象。 如果為 sortfunction 參數提供了一個函數,那麼該函數必須返回下列值之一: 負值,如果所傳遞的第一個參數比第二個參數小。 零,如果兩個參數相等。 正值,如果第一個參數比第二個參數大。
Time of Update: 2018-12-08
Javascript已經可以類比出物件導向的封裝和繼承特性,但是不幸的是Javascript對多態特性的支援非常弱!其它物件導向語言的多態一般都由方法重載和虛方法來實現多態,Javascript也通過這兩種途徑來實現! 重載:由於Javascript是弱類型的語言,而且又支援可變參數,當我們定義重載方法的時候,解譯器無法通過參數類型和參數個數來區分不同的重載方法,因此方法重載是不被支援的!當先後定義了同名的方法的時候,後定義的方法會覆蓋先定義的方法!
Time of Update: 2018-12-08
我們看到這裡繼承的概念是多麼的直白,“拷貝一個類的prototype 到另外一個類”,好,Code is cheap,看代碼: function class1() { } function class2() { } class2.prototype = class1.prototype; class2.moreProperty1 = " class 2 additional string " ; class2.moreMethod1 = function () { alert( " class
Time of Update: 2018-12-08
複製代碼 代碼如下:var str = new Array(); str[0] = '<li id="domain-{0}">'.replace('{0}', 'domainid'); str[1] = 'domainname'; str[2] = '<input type="hidden" name="domainids" value="{0}">'.replace('{0}', 'domainid'); str[3] = '</li>';
Time of Update: 2018-12-08
很長一段時間以來(這裡本人要幸災樂禍地說),js是“一種點綴的作用,完成很有限的功能,諸如表單驗證之類,其語言本身也一直被當作過程化的語言使用,很難完成複雜的功能。”。但是(這裡本人要苦大仇深、痛心疾首地說),“而Ajax的出現使得複雜指令碼成為必需的組成部分,這就對 JavaScript 程式設計提出了新的要求,很多Ajax應用開始利用JavaScript物件導向的性質進行開發,使邏輯更加清晰。事實上,JavaScript
Time of Update: 2018-12-08
JavaScript/CSS/DOM基礎 第0課 - 內容概述 第1課 - JavaScript背景知識 第2課 - JavaScript基礎 第3課 - CSS基礎 第4課 - CSS進階 第5課 - DOM模型 JavaScript開發進階 第6課 - JavaScript事件 第7課 - 表格與表單 第8課 - Javascript調試與最佳化 第9課 - Ajax jQuery應用 第10課 -
Time of Update: 2018-12-08
在我 上一篇文章 (譯文 ) 中,談到了各個瀏覽器究竟會在什麼情況下彈出指令碼失控提示,對於Internet Explorer 來說,當瀏覽器執行了數量過多的語句時就會停止執行指令碼,而其他的瀏覽器,則是持續執行指令碼超過一定時間的時候就會給出提示。而我們要探討的核心問題,不是這些瀏覽器如果探測失控的指令碼,而是我們如何才可以讓指令碼啟動並執行更快一些,從而避免這些警告 。 指令碼失控基本上有以下四個方面的原因: 在迴圈中執行了太多的操作。 臃腫的函數體 過多的遞迴 過多的 DOM 調用
Time of Update: 2018-12-08
複製代碼 代碼如下://傳入從資料庫中取出的日期類型資料 function getformatdate(d){ var formate_datetime; var array = d.split(" "); var date = array[0]; var time = array[1]; var array_date = date.split("-"); var array_time = time.split(":"); var second = array_time[2].split("."
Time of Update: 2018-12-08
網上搜尋到的代碼,做了一些修改該, 修正無法自訂色彩,修正IE8 下錯誤,以及其他小BUG 相容IE6~8以及Firefox 可以自訂 // 提示視窗標題高度 // 提示視窗的邊框顏色 // 提示視窗的標題顏色 // 提示視窗的標題背景色 // 提示內容的背景色 // 提示內容文字對齊 功能 可以彈出一個大DIV遮住頁面(IE下 透明) 然後在螢幕中央顯示顯示一個小DIV 可用作功能提示 操作提示 以及公告等 提示內容可以使帶HTML標記的文字,也可是一個頁面連結 複製代碼
Time of Update: 2018-12-08
這篇著重講第一個原因。最後給出了一個開發模式,替換傳統的迴圈結構,可以完全避免指令碼失控的狀況發生。原文標題:Speed up your JavaScript, Part 1 原文作者:Nicholas C. Zakas 在我 上一篇文章 (譯文 ) 中,談到了各個瀏覽器究竟會在什麼情況下彈出指令碼失控提示,對於Internet Explorer
Time of Update: 2018-12-08
Math對象Math對象是在高中數學課就學過的內建對象。它知道解決最複雜的數學問題的所有公式,如果給它要處理的數字,即能計算出結果。Math對象有幾個屬性,主要是數學界的專用值。下表類出了這些屬性:屬 性說
Time of Update: 2018-12-08
setTimeout(script,millisecond); 是從現在算起多少微秒後運行該代碼(只運行一次) setInterval(script,millisecond); 是每隔多少微秒運行一次代碼 樣本: 1.執行一次 秒[Ctrl+A 全選 注:如需引入外部Js需重新整理才能執行]2.複製執行 3 秒[Ctrl+A 全選 注:如需引入外部Js需重新整理才能執行]setTimeout也可以做成重複執行 秒[Ctrl+A 全選 注:如需引入外部Js需重新整理才能執行]
Time of Update: 2018-12-08
公用、受保護和私人範圍在傳統的物件導向程式設計中,主要關注於公用和私人範圍。公用範圍中的對象屬性可以從對象外部存取,即開發人員建立對象的執行個體後,就可使用它的公用屬性。而私人範圍中的屬性只能在對象內部訪問,即對於外部世界來說,這些屬性並不存在。這也意味著如果類定義了私人屬性和方法,則它的子類也不能訪問這些屬性和方法。最近,另一種範圍流行起來,即受保護範圍。雖然在不同語言中,受保護範圍的應用的規則不同,但一般說來,它都用於定義私人的屬性和方法,只是這些屬性和方法還能被其子類訪問。對ECMAScr
Time of Update: 2018-12-08
實際上,幾何形狀只有兩種,即橢圓形(是圓形的)和多邊形(具有一定數量的邊)。圓是橢圓形的一種,它只有一個焦點。三角形、矩形和五邊形都是多邊形的一種,具有不同數量的邊。正方形是矩形的一種,所有的邊等長。這就構成了一種完美的繼承關係。在這個例子中,形狀(Shape)是橢圓形(Ellipse)和多邊形(Polygon)的基類(base class)(所有類都由它繼承而來)。橢圓具有一個屬性foci,說明橢圓具有的焦點的個數。圓形(Circle)繼承了橢圓形,因此圓形是橢圓形的子類(subclass),
Time of Update: 2018-12-08
什麼是JavaScript JavaScript是一種基於對象和事件驅動的用戶端指令碼語言。 JavaScript最初的設計是為了檢驗HTML表單輸入的正確性。 JavaScript起源於Netscape公司的LiveScript語言。 JavaScript的曆史
Time of Update: 2018-12-08
Global對象Global對象是ECMAScript中最特別的對象,因為實際上它根本不存在。如果嘗試編寫下面的代碼,將得到錯誤:錯誤訊息顯示Global不是對象,但剛才不是說Global是對象嗎?沒錯。這裡需要理解的主要概念是,在ECMAScript中,不存在獨立的函數,所有函數都必須是某個對象的方法。本書前面介紹的函數,如isNaN()、isFinite()、parseInt()和parseFloat()等,看起來都像獨立的函數。實際上,它們都是Global對象的方法。而且Global對象的