Time of Update: 2017-01-19
檢測瀏覽器及其版本的代碼 複製代碼 代碼如下: getBrowser : function(){ var browser = { msie: false, firefox: false, opera: false, safari: false, chrome: false, netscape: false, appname: 'unknown', version: 0 }, userAgent = window.navigator.userAgent.toLowerCase(); if ( /(
Time of Update: 2017-01-19
在這篇文章中,作者介紹了7個在IE和Firefox中不同的JavaScript句法。 1. CSS "float" 值 訪問一個給定CSS 值的最基本句法是: object.style.property ,使用駝峰寫法來替換有串連符的值,例如,訪問某個ID為"header"的<div>的background-color 值,我們使用如下句法: document.getElementById("header").style.backgroundColor= "#ccc";
Time of Update: 2017-01-19
一,物件導向的基礎 對象是JavaScript的基礎。從最基本的層次上說,對象是一系列屬性的集合。 1,對象的建立 [Ctrl+A 全選 注:如需引入外部Js需重新整理才能執行] 相信很多朋友對這些建立對象的方式接觸過很多次了,都很熟悉了。 2,對象的使用 和其他物件導向語言不同的是,JavaScript沒有類的概念。在JavaScript裡,任何函數都可以被執行個體化為一個對象。 [Ctrl+A 全選 注:如需引入外部Js需重新整理才能執行] 本段代碼通過new
Time of Update: 2017-01-19
5,閉包 閉包意味著內層的函數可以引用存在於包圍它的函數內的變數,即使外層函數的執行已經終止。 讓我們先來看一個閉包的例子。 [Ctrl+A 全選 注:如需引入外部Js需重新整理才能執行] 代碼①是處於函數內層,不過它可以使用外層的變數num。 閉合還能解決另一個常見的Js問題,全域變數的影響。 通過自動執行匿名函數組合閉包,便可把原本屬於全域的變數隱藏起來。看下面的例子: [Ctrl+A 全選 注:如需引入外部Js需重新整理才能執行]
Time of Update: 2017-01-19
3,範圍 所有的物件導向的語言都有某種形式的範圍,JavaScript也不例外。在JavaScript裡,範圍是由函數劃分的,而不是由塊(while,if之類的)來劃分的。 我們先來看一個簡單的範圍的例子。 [Ctrl+A 全選 注:如需引入外部Js需重新整理才能執行] 在if塊中,雖然foo的值改為“b“,但還是在全域範圍中,所以輸出結果是“b“。 基於瀏覽器的JavaScript語言有一門有趣的特性是,所有屬於全域範圍的變數都是window對象的屬性。 看下面代碼:
Time of Update: 2017-01-19
1,引用 引用是一個指向對象實際位置的指標。看下面的使用引用的例子: [Ctrl+A 全選 注:如需引入外部Js需重新整理才能執行] 本例中,兩個對象都指向同一個對象,當修改某一個對象的屬性內容時,則會影響另一個。 我們再來看一個例子,這次我們利用數組來講解引用: [Ctrl+A 全選 注:如需引入外部Js需重新整理才能執行] 如果在arr被重新定義後,則引用就不是同一個對象了,如下代碼所示: [Ctrl+A 全選 注:如需引入外部Js需重新整理才能執行]
Time of Update: 2017-01-19
一,回顧 首先先來回顧下DOM和事件。 1,DOM DOM在JavaScript中是應用最廣泛的,大部分Web開發的程式設計語言都提供了相關的實現。給了開發人員一個統一的介面。 看下面的例子: demo 李老師-英語 張老師-數學 劉老師-物理 [Ctrl+A 全選 注:如需引入外部Js需重新整理才能執行] 等待頁面所有內容載入完畢後,通過getElementsByTagName()方法擷取頁面中的li元素,然後迴圈改變li元素顏色為紅色。
Time of Update: 2017-01-19
JavaScript函數調用規則一 (1)全域函數調用: function makeArray( arg1, arg2 ){ return [this , arg1 , arg2 ]; } 這是一個最常用的定義函數方式。相信學習JavaScript的人對它的調用並不陌生。 調用代碼如下: makeArray('one', 'two'); // => [ window, 'one', 'two' ] 這種方式可以說是全域的函數調用。 為什麼說是全域的函數? 因為它是全域對象window
Time of Update: 2017-01-19
indexOf 返回元素在數組的索引,沒有則返回-1。與string的indexOf方法差不多。 如果其他瀏覽器沒有實現此方法,可以用以下代碼實現相容: 複製代碼 代碼如下: Array.prototype.indexOf = function(el, start) { var start = start || 0; for ( var i=0; i < this.length; ++i ) {
Time of Update: 2017-01-19
要使用VML,我們首先要開闢一個命名空間。以前動態建立比較麻煩 document.namespaces.add('vml', 'urn:schemas-microsoft-com:vml', "#default#VML"); ie8出現後,微軟一口氣升級了IE6,IE7。建立方法更簡單。 document.namespaces.add('vml', 'urn:schemas-microsoft-com:vml'); 它們的作用相當於把HTML標籤搞成下面這個樣子: <html xmlns:
Time of Update: 2017-01-19
複製代碼 代碼如下:function Get_Cookie(name) { var start = document.cookie.indexOf(name+…=…); var len = start+name.length+1; if ((!start) && (name != document.cookie.substring(0,name.length))) return null; if (start == -1) return null; var end =
Time of Update: 2017-01-19
複製代碼 代碼如下: str = str.<br /> replace( /&(?!#?\w+;)/g , '&').<br /> replace( /undefinedundefined([^undefinedundefined]*)"/g , '“$1”' ).<br /> replace( /</g , '<' ).<br /> replace( />/g , '>' ).<br
Time of Update: 2017-01-19
一時間不好回答,特別是undefined,因為這涉及到undefined的實現原理。於是,細想之後,寫下本文,請各位大俠拍磚。 總所周知:null == undefined 但是:null !== undefined 那麼這兩者到底有啥區別呢? 請聽俺娓娓道來... null 這是一個對象,但是為空白。因為是對象,所以 typeof null 返回 'object' 。 null 是 JavaScript 保留關鍵字。 null 參與數值運算時其值會自動轉換為 0
Time of Update: 2017-01-19
使用者單擊其中一個按鈕,可以讓數字加1,單擊另外一個按鈕則讓數字減1,如果按住按鈕不放,文字框的數值會越加越快或越減越快,即變速加數功能。比如你開啟電腦的“時間和日期屬性”視窗,你按下圖紅框標識的上下按鈕調整時間,試著單擊與按著滑鼠不放,你會發現它的功能與我說的一樣(準確說還是有區別的,它按下滑鼠不放加數速度是快了,但不會越來越快。我的例子是越加越快,這更適合數值比較大的資料提供場合)。
Time of Update: 2017-01-19
將下面代碼儲存為Common.js 類庫功能: 1.Trim(str)--去除字串兩邊的空格 2.XMLEncode(str)--對字串進行XML編碼 3.ShowLabel(str,str)--滑鼠提示功能(顯示字元,提示字元) 可以設定顯示的提示的文字的字型、顏色、大小以及提示的背景顏色、邊框等 4.IsEmpty(obj)--驗證輸入框是否為空白 5.IsInt(objStr,sign,zero)--驗證是否為整數,正整數,負整數,以及是否包括零
Time of Update: 2017-01-19
複製代碼 代碼如下: var arr = new Array(); arr['item1'] = 'the value of item 1 '; arr['item2'] = 'the value of item 2 '; alert(arr['item1']); alert(arr['item2']); 但上述功能,不符我們的實際要求,另外查詢遍曆也不方便,我們需要在Array的基礎上進行擴充, 下面我們可以用js中的數組來實作類別似的hashtable的功能, 複製代碼 代碼如下:
Time of Update: 2017-01-19
Regex的直接量字元字元 匹配字母數字字元 本身\o NUL字元(\u0000)\t 制位表(\u0009)\n 分行符號(\u000A)\v 垂直制位表(\u000B)\f 換頁符(\u000C)\r 斷行符號(\u000D)\xnn 由十六進位數nn指定的拉丁字元,例如\u0A等價於\n\uxxxx 由十六進位數xxxx指定的Unicode字元,例如\u0009等價於\t\cX 控制字元X,例如,\cJ等價於\n Regex的字元類字元 匹配[...] 位於括弧內的任一字元[^...]
Time of Update: 2017-01-19
其中obj.name = "select";這句話並不能起到預期的作用,無論是看產生後的HTML代碼還是觀察使用document.getElementsByName()擷取的數組長度,都會發現這個name設定並沒有起作用。當然這種情況只出現在IE6和IE7中,而在FireFox中是沒有問題的。 Test [Ctrl+A 全選 注:如需引入外部Js需重新整理才能執行]
Time of Update: 2017-01-19
開發的功能主要涉及即時代碼著色(CodeColoring)和文法提示(CodeHints)功能,稍後會總結功能開發中問題或提供源碼。 以下是個人對Range對象的瞭解和常用操作的執行個體和總結: Range對象 Range對象表示文檔的連續範圍地區,如使用者在瀏覽器視窗中用滑鼠拖動選中的地區。 dom標準Range對象 http://www.w3school.com.cn/xmldom/dom_range.asp 在ie中使用TextRange對象
Time of Update: 2017-01-19
為了釋放指令碼資源,通常在返回後還要一些進行額外的處理。 複製代碼 代碼如下: script = document.createElement('script'); script.src = 'http://example.com/cgi-bin/jsonp?q=What+is+the+meaning+of+life%3F'; script.id = 'JSONP'; script.type = 'text/javascript'; script.charset = 'utf-8'; //