Time of Update: 2018-12-08
這就意味著會有適當的事件冒泡,並且瀏覽器會執行分配的事件處理常式。這種能力在測試web應用程式的時候,是非常有用的,在DOM 3級規範中提供了方法來類比特定的事件,IE9 chrome FF Opera 和 Safari都支援這樣的方式,在IE8及以前的辦法的IE瀏覽器有他自己的方式來類比事件 a)Dom 事件類比 可以通過document上的createEvent()方法,在任何時候建立事件對象,此方法只接受一個參數,既要建立事件對象的事件字串,在DOM2 級規範上所有的字串都是複數形式,
Time of Update: 2018-12-08
1.函數內部屬性 arguments arguments用來儲存函數的參數,arguments.callee指向擁有arguments對象的函數 複製代碼 代碼如下://階乘 function factorial(num) { if (num <= 1) { return 1; } else { return num*arguments.callee(num-1); //用agreements.callee代替 } } var trueFactorial = factorial;
Time of Update: 2018-12-08
1.視窗位置 以下取得瀏覽器視窗距螢幕左邊和上邊的位置 複製代碼 代碼如下:var leftPos = (typeof window.screenLeft == "number") ? window.screenLeft : window.screenX; //左邊位置 var topPos = (typeof window.screenTop == "number") ? window.screenTop : window.screenY; //上邊位置 2.瀏覽器大小
Time of Update: 2018-12-08
一、變數的範圍 要理解閉包,首先必須理解Javascript特殊的變數範圍。 變數的範圍無非就是兩種:全域變數和局部變數。 Javascript語言的特殊之處,就在於函數內部可以直接讀取全域變數。 複製代碼 代碼如下: var n=999; function f1(){ alert(n); } f1(); // 999 另一方面,在函數外部自然無法讀取函數內的局部變數。 複製代碼 代碼如下: function f1(){ var n=999; }
Time of Update: 2018-12-08
本節html以下面的為例 複製代碼 代碼如下:<div id="myDiv" class="bd" title="我是div"> <img id="img1" /> <a id="myA" href = "http://www.baidu.com">百度</a> </div> 1.通過HTMLElement類型(對象)的屬性獲得和設定元素特性 複製代碼 代碼如下:var div =
Time of Update: 2018-12-08
1.修飾符 . 任意一個字元 * 匹配*前面0個或多個字元 + 匹配+前面一個或多個字元 ? 匹配?前面0個或1個字元 ^ 以^後面的字元為前置 $ 以$前面的字元結尾 [] 匹配[]內的一個字元 () 分組,可以用\1 \2提取 [^] 匹配^後的以外的字元 {n} {n}前的字元有n個,n為正數 {n,} {n,}前的字元至少有n個,n為正數 {n,m} {n,m}前的字元有n~m個,n,m為正數 2.字元 \d 一個數字 \D 一個非數字 \w 一個字母或數字 \W 一個非字母和非數字 \
Time of Update: 2018-12-08
數組的建立 第一種: 複製代碼 代碼如下:var colors = new Array(); var colors = new Array(20);//建立包含20項的數組 var colors = new Array("Greg");//建立包含1項,即字串"Greg"的數組 var colors = new Array("red","blue","green"); //建立包含3項 第二種: 複製代碼 代碼如下:var colors = ["red","blue","green"];
Time of Update: 2018-12-08
1.擷取元素 getElementById()方法,通過元素的id擷取元素,接受一個參數即要擷取元素的id,如果不存在這個id返回 null 注意不要讓表單元素的name和別的元素的id相同,IE8以下的IE瀏覽器用這個方法通過元素的name屬性可以獲得該元素 以下面元素為例 <div id ="myDiv">這裡是id為“myDiv”的div內容</div>var document.getElementById("myDiv");
Time of Update: 2018-12-08
toFixed() 方法指定小數位個數 toExponential() 方法 用科學計數法表示數,參數指定小數位個數 toPrecision() 方法自動判斷調用toFixed()或toExponential()方法,參數指定所有數的位元 複製代碼 代碼如下:var num = 99; alert(toFixed(2)); //99.00 alert(toExponential(1)); //9.0e+1 alert(toPrecision(1)); //9.0e+1
Time of Update: 2018-12-08
1.字元方法charAt() 、charCodeAt()、fromCharCode() 複製代碼 代碼如下:var stringValue = "hello world"; alert(stringValue.charAt(1)); //"e" alert(stringValue[1]); //"e" alert(stringValue.charCodeAt(1)); //101 alert(String.fromCharCode(104,101)); //"he"
Time of Update: 2018-12-08
1.原型鏈 //很少單獨使用 複製代碼 代碼如下:View Code //定義 SuperClass類,有一個屬性property和一個方法getSuperValue function SuperClass() { this.property = true; } SuperClass.prototype.getSuperValue = function() { return this.property; }
Time of Update: 2018-12-08
1.typeof 操作符:用於檢測給定變數的資料類型 複製代碼 代碼如下:var message="some string"; alert(typeof message); //"string" alert(typeof(message)); //"string" alert(typeof 100); //"number" typeof操作符可能返回下列字串: "undefined","boolean","string","number","object","function".
Time of Update: 2018-12-08
1.建立對象 複製代碼 代碼如下:var person = new Object(); person.name = "RuiLiang"; person.age = 30; person.job = "Teacher"; person.sayName = function () { alert(this.name); }; person.sayName(); 2.原廠模式 缺點:不能識別對象 複製代碼 代碼如下:function createPerson(name,age,job) { var
Time of Update: 2018-12-08
1.延時指令碼啟動並執行方法: 方法一:把全部javascript引用放在<body>元素中,頁面內容後,如 複製代碼 代碼如下:<html> <head> <title>樣本1</title> </head> <body> <!--頁面內容--> <script type="text/javascript" src="example1.js"></script>
Time of Update: 2018-12-08
複製代碼 代碼如下:function AutomateExcel() { try { //Start Excel and get Application object. var oXL; try { oXL = new ActiveXObject("Excel.Application"); } catch(e) { alert("無法啟動Excel!\n\n如果您確信您的電腦中已經安裝了Excel," + "那麼請調整IE的安全層級。\n\n具體操作:\n\n" + "工具 →
Time of Update: 2018-12-08
代碼如下: 複製代碼 代碼如下:/** * 倒計時 * * @author WadeYu * @date 2012-04-20 17:40 * @copyright boyaa.com */ var TimeCountDown = function( initTime ){ var day = 0; var hour = 0; var minute = 0; var second = 0; var timerId = 0; var self = this; var fixInitTime =
Time of Update: 2018-12-08
如下所示: 複製代碼 代碼如下:var person = new Object(); person.name = "Nicholas"; person.age = "29" person.job = "Software Engineer"; person.sayName = function () { alert(this.name); }; person.sayName();上面的例子建立了一個名為person的對象,並為它添加了三個屬性(name、age和job)和一個方法(sayName(
Time of Update: 2018-12-08
其中: 1.JavaScript的sort()中如果沒有指定比較函數,則預設會按照字元的編碼順序進行升序排序。也就是說如果我們想要對數值進行排序得到的不一定是我們想要的結果。 2.Javascript的reverse()將數組中的元素逆序。 先看看上面的第一點,如果有一個數組arr=[1,6,3,7,9],使用arr.sort()後,數組的順序為1,3,6,7,9,得到了我們想要的結果。
Time of Update: 2018-12-08
從前的方式——我估計也是大多數人使用的方式 比如以下的代碼——摘自新浪首頁的一段js代碼,這種方式也是大多數人使用的方式。 上面的代碼,你看完有什麼反應?你也許會把+=這種形式改成數組的push形式,有人說push比這種字元連結要快,但是也快不了多少。 如果這種嵌入的html代碼很多,你也要這樣處理嗎?如果修改(添加或者刪除)某個html,那麼你就要不斷的翻代碼,找對應的標籤,然後在找結束標籤,你不覺得麻煩嗎?也許有人會這樣寫(這個是我早期寫的,也是我最慣於使用的方式)。
Time of Update: 2018-12-08
console.log 原先是 Firefox 的“專利”,嚴格說是安裝了 Firebugs 之後的 Firefox 所專屬的調試“絕招”。 這一招,IE8 學會了,不過用起來比 Firebugs 麻煩,只有在開啟調試視窗(F12)的時候,console.log 才能出結果,不然就報錯。 今天看到 Opera 也有個叫 dragonfly 的東東,用這東西查看 DOM,已經可以和 Firebug 媲美,然而還是不能用 console.log。於是有人就提供了這樣兩句代碼: 複製代碼