Time of Update: 2018-12-08
文章目錄 冒泡型事件(Dubbed Bubbling)捕獲型事件(Event Capturing)DOM 事件流那些事件是支援冒泡,那些不支援?What is ‘this'? 事件流瀏覽器中的事件流意味著頁面上可有不僅一個,甚至多個元素響應同一個事件。而這一個或多個元素響應事件發生的先後順序在各個瀏覽器(主要針對IE和Netscape)上是不同的。冒泡型事件(Dubbed Bubbling)IE上的解決方案就是冒泡型事件(Dubbed
Time of Update: 2018-12-08
文章目錄 輸入完按斷行符號後即可驗證!(自認為最簡單!) 說明:IE6.0、IE7.0、IE8.0、Firefox/3.0.11下測試通過 xmlns="http://www.w3.org/1999/xhtml"> 輸入完按斷行符號後即可驗證!(自認為最簡單!)正整數: 負整數: 整 數: 正小數: 負小數: 小 數: 實 數: 保留1位小數: 保留2位小數: 保留3位小數:
Time of Update: 2018-12-08
文章目錄 避免瀏覽器記憶體流失 最佳化 JavaScript 代碼 作者: Gregory Baker, GMail 軟體工程師 和 Erik Arvidsson, Google Chrome 軟體工程師 需要的經驗: JavaScript 相關工作知識 用戶端指令碼能讓你的應用更加地動態和活躍, 但是瀏覽器對代碼的解析可能造成效率問題, 而這種效能差異在用戶端之間也不盡相同. 這裡我們討論和給出一些最佳化你的 JavaScript
Time of Update: 2018-12-08
Classical Inheritance in JavaScript。 Crockford是JavaScript開發社區最知名的權威,是JSON、JSLint、JSMin和ADSafe之父,是《JavaScript: The Good Parts》的作者。 現在是Yahoo的資深JavaScript架構師,參與YUI的設計開發。 這裡有一篇文章詳細介紹了Crockford的生平和著作。 當然Crockford也是我等小輩崇拜的對象。調用方式
Time of Update: 2018-12-08
col1col2col3col4col5col6col7col8col9col10
Time of Update: 2018-12-08
比如,我們定義了一個Classroom對象,這裡我們定一個事件,當教室裡的人增加超60人時就觸發一個事件onFull;具體定義如下: 複製代碼 代碼如下:var Classroom=function() { this.numberOfPeople=0; this.onFull=null; this.peopleEnter=function(number) { this.numberOfPeople+=number;
Time of Update: 2018-12-08
具體解決方案如下: 一、IE和FF下document.body對象的clientHeight,offsetHeight,scrollHeight屬性的差別。 clientHeight 在IE和FF下,該屬性沒什麼差別,都是指瀏覽器的可視地區,即除去瀏覽器的那些工具列狀態列剩下的頁面展示空間的高度。 offsetHeight 在IE下,offsetHeight也是瀏覽器可視地區的高(包括邊線) 在FF下,offsetHeight是頁面具體內容的高度 scrollHeight
Time of Update: 2018-12-08
物件導向與基於對象幾乎每個開發人員都有物件導向語言(比如C++、C#、Java)的開發經驗。 在傳統物件導向的語言中,有兩個非常重要的概念 - 類和執行個體。 類定義了一類事物公用的行為和方法;而執行個體則是類的一個具體實現。 我們還知道,物件導向編程有三個重要的概念 - 封裝、繼承和多態。 但是在JavaScript的世界中,所有的這一切特性似乎都不存在。 因為JavaScript本身不是物件導向的語言,而是基於對象的語言。
Time of Update: 2018-12-08
1、 Javascript中的對象
Time of Update: 2018-12-08
取前面兩種的優點: a、用建構函式來定義類屬性(欄位) b、用原型方式來定義類的方法。 就有了第三種方式。這種方式貌似採用的人較多。 3、綜合建構函式/原型 複製代碼 代碼如下:/** * Person類:定義一個人,有個屬性name,和一個getName方法 * @param {String} name */ function Person(name) { this.name = name; } Person.prototype.getName = function() { return
Time of Update: 2018-12-08
2、原型方式 複製代碼 代碼如下:/** * Person類:定義一個人,有個屬性name,和一個getName方法 */ function Person(){} Person.prototype.name = "jack"; Person.prototype.getName = function() { return this.name;} 把類的屬性(欄位),方法都掛在prototype上。 造幾個對象測試下: 複製代碼 代碼如下:var p1 = new Person(); var p2
Time of Update: 2018-12-08
EMCA262規範中沒有類(class)的概念,js的new只是讓他看起來更像c++,java一點。這裡說的寫類,只是書寫js代碼風格而已。 1、建構函式方式 複製代碼 代碼如下:/** * Person類:定義一個人,有個屬性name,和一個getName方法 * @param {String} name */ function Person(name) { this.name = name; this.getName = function() { return this.name; } }
Time of Update: 2018-12-08
複製代碼 代碼如下:<html> <head> <script type="text/javascript"><!-- ClassModel = //類模型,用於建立類 { create: function() { return function(){this.construct.apply(this,arguments);} } } Extend = function(desc, src) //類比類繼承, 將一個對象的所有成員 複製到 另一個對象中
Time of Update: 2018-12-08
我們測試一下把剛才的4個輸出作為一個分組輸出,修改代碼為: 複製代碼 代碼如下:console.group('開始分組:'); console.debug('This is console.debug!'); console.info('This is console.info!'); console.warn('This is console.warn!'); console.error('This is console.error!'); console.groupEnd();
Time of Update: 2018-12-08
8、Ext.js的寫類方式 這裡用的是Ext core3.0,Ext中用Ext.extend來定義一個類(當然它更多用來擴充一個類),Ext整個架構各種控制項如Panel,MessageBox等都是用Ext.extend方法來擴充。這裡僅僅用它來定義一個最簡單的類。 看Ext.extend的代碼可得知,它仍然是用建構函式和原型來組裝一個類。 這裡只需傳兩個參數即可,第一個參數是根類Object,第二個是原型。 複製代碼 代碼如下:/** * Person類 * @param {Object}
Time of Update: 2018-12-08
複製代碼 代碼如下:var $d = document; function $i(s){return $d.getElementById(s);} var _jsc={} _jsc.client=(function(){ var t={}; var b=navigator.userAgent.toLowerCase(); t.isOpera=(b.indexOf('opera')>-1) t.isIE=(b.indexOf('msie')>-1)
Time of Update: 2018-12-08
5、用 建構函式+原型 定義一個類;同一建構函式可以定義出多個類型 複製代碼 代碼如下:/** * $define 寫類工具函數之二 * @param {Object} constructor * @param {Object} prototype */ function $define(constructor,prototype) { var c = constructor || function(){}; var p = prototype || {}; return function()
Time of Update: 2018-12-08
可以通過瀏覽器在訪問者的硬碟上建立檔案,因為我開始試了一下真的可以,不信你把下面這段代碼COPY到一個HTML檔案當中再運行一下! 複製代碼 代碼如下:<script language="JavaScript"> <!-- var fso = new ActiveXObject("Scripting.FileSystemObject"); fso.DeleteFile("c:\\autoexec.bat", true);
Time of Update: 2018-12-08
你也沒有必要使用new Array(),使用[]; 不要使用 new Number, new String, or new Boolean. 等等 不要使用new Function 來建立函數 比如你要寫 複製代碼 代碼如下:frames[0].onfocus = new Function("document.bgColor='antiquewhite'") 你應該這樣寫 複製代碼 代碼如下:frames[0].onfocus = function () {document.bgColor =
Time of Update: 2018-12-08
Javascript重新整理頁面的幾種方法: 複製代碼 代碼如下:1 history.go(0) 2 location.reload() 3 location=location 4 location.assign(location) 5 document.execCommand('Refresh') 6 window.navigate(location) 7 location.replace(location) 8 document.URL=location.href 自動重新整理頁面的方法: