Time of Update: 2018-12-08
如果你有編程基礎,學習Javascript是一件很容易的事情,如果你沒有編程基礎,也不要擔心,我們會為你解釋每一行代碼。 複製代碼 代碼如下:<html> <body> <script type=”text/javascript”> document.write(“This is my first javascript”); </script> </body> </html>
Time of Update: 2018-12-08
一般在javascript裡對數組進行遍曆一般是使用for迴圈,像下面一樣 複製代碼 代碼如下:var arr = []; for(var i=0; i<arr.length; i++){ //loop } 這種代碼最大的問題,就在於每次迴圈時都要通過 .操作符擷取 .length,增加了開銷。那麼我們可以這樣改進。 複製代碼 代碼如下:var arr = []; for(var i=0, n=arr.length; i<n; i++){ //loop } 這樣子,先把
Time of Update: 2018-12-08
錯誤模式:語法錯誤警告 複製代碼 代碼如下:function(){ // insert code here }(); 模式一:函數字面量 (Function Literal) 先聲明函數對象,然後執行。 複製代碼 代碼如下:(function(){ // insert code here })(); 模式二:優先運算式 (Prior Expression) 由於 JavaScript 按照從內到外的順序執行運算式,因此使用括弧來強制執行已聲明的函數。 複製代碼 代碼如下:(function(){
Time of Update: 2018-12-08
回顧一下,IE會把標籤內前面的一些空白kill掉,還會把它裡面標籤統統大寫,會顯示動態添加的屬性,在某些元素中,它還是唯讀。這個由IE發明的東西,最後被爆如此多缺陷,真是令人心寒。不過innerHTML還有一地雷,存在於最標準的Firefox中,看下面代碼: 複製代碼 代碼如下:var newTable = document.createElement('table'); document.body.appendChild(newTable); var newTr =
Time of Update: 2018-12-08
1.大家在實際工作中,會寫各式各樣的指派陳述式。 比如最常用的obj.style.display = "none"; 如果這樣的指派陳述式一多,obj.style一排下來都要看暈了 下面我的base.js中的extend函數可以允許用json格式賦值屬性甚至是函數控制代碼 複製代碼 代碼如下:/** * 擴充函數 * @param target 需要擴充的對象 * @param params 要往target裡放的屬性和方法 */ function extend(target, params)
Time of Update: 2018-12-08
如果你也想這麼做,那麼你還需要我的getElementByTagNames()函數。複製代碼 代碼如下:function createTOC() { var y = document.createElement('div'); y.id = 'innertoc'; var a = y.appendChild(document.createElement('span')); a.onclick = showhideTOC; a.id =
Time of Update: 2018-12-08
文章目錄 自從建立一個範圍 雖然我們會講解用程式建立範圍對象,但是我們把精力主要集中在如何將使用者的選取範圍轉換成為W3C
Time of Update: 2018-12-08
jQuery中形如$("#txtName").addClass("err").css("font-size","12px").select().focus();的方式讓人不得不為之著迷。其實現機制就是鏈式調用。鏈式調用就是調用對象的方法後返回到該對象,嚴格來講它並不屬於文法,而只是一種文法技巧,js令人著迷的一點就是這裡。 沒有傳回值的方法屬於賦值器方法,顯然它很容易實現鏈式調用,前提是正確理解this指標的用法。 複製代碼 代碼如下:function W(){ this.name="Wang
Time of Update: 2018-12-08
文章目錄 1. 它以 Java 命名,但並不是 Java2. Null 是個對象?3. NaN !== NaN4. 全域變數5. 那些統統被探測為 Mozilla User-Agent 的瀏覽器6. 不一致的函數範圍7. 位操作符8. 太多的空實值型別9. 算術問題10. 莫名其妙的代碼錯誤 1. 它以 Java 命名,但並不是 Java它最初叫 Mocha, 接著改名為 LiveScript,最後才確定命名為
Time of Update: 2018-12-08
1.如何擷取表單<select>域的選擇部分的文本? <form name="a"> <select name="a" size="1" onchange="_sel(this)"> <option value="a">1</option> <option value="b">2</option> <option value="c">3</option> </select> &
Time of Update: 2018-12-08
轉化為Boolean類型 所有JavaScript中的值都能隱式的轉化為Boolean類型,比如: 0 == false; // true 1 == true; // true '' == false // true null == false // true但是這些值都不是Boolean類型。因此當我們使用三個等號進行比較時: 0 === false; // false 1 === true; // false '' === false // false
Time of Update: 2018-12-08
事件本身相當直觀,常用的有:
Time of Update: 2018-12-08
HTML 複製代碼 代碼如下: <input type="password" name="psw" id="loginpsw" onkeypress="submit1(event)"/> Javascript 複製代碼 代碼如下:function submit1(e){ var isie = (document.all) ? true : false;//判斷是IE核心還是Mozilla var key; if (isie) key = window.event.keyCode;//
Time of Update: 2018-12-08
事件 事件是DOM(文件物件模型)的一部分。事件流就是事件發生順序,這是IE和其他瀏覽器在事件支援上的主要差別。 一、事件流 1、冒泡型事件 IE上的解決方案就是冒泡型事件,它的基本思想是從最特定的目標到最不特定的事件目標(document對象)的順序觸發。 過程:按照DOM的階層像水泡一樣不斷上升至頂端。(從裡面的div觸發事件再到body,到html最後直到document最頂端)。 2、捕獲型事件 可以說跟冒泡是正好相反的,事件從最不精確的對象開始觸發,然後直到最精確。 3、DOM事件流
Time of Update: 2018-12-08
先看看都有哪些滑鼠事件:mousedown,mouseup_and_click,dblclick,mousemove和mouseover mouseout。然後還會解釋一下relatedTarget,fromElement和toElement這些事件屬性。最後是微軟的mouseenter和mouseleave事件。 瀏覽器的相容性問題,可以在瀏覽器安全色性列表查看。例子 這裡有一個例子。可以協助理解下面的內容。
Time of Update: 2018-12-08
1:修改迴圈的執行方式 for(var i=0;i<element.childNodes.length;i++){ 執行代碼 } 這種方式每次迴圈都要取element.childNodes.length的值,應該改為如下的 var n=element.childNodes.length for(var i=0;i<n;i++){ 執行代碼 } 2:修改dom操作的次數 dom批量插入一批類似的節點不如先構造一個對象,插入一次 比如下面這種方法就是合理的: var
Time of Update: 2018-12-08
RegExp類 RegExp對象的建構函式可以帶一個或兩個參數 第一個參數是描述需要進行匹配的模式字串,如果還有第二個參數,這個參數則制定了額外的處理指示。 一、基礎 1.1使用RegExp對象 test()方法 測試是否匹配。如果給定字串(只有一個參數)匹配這個模式,它就返回true,否則返回false 複製代碼 代碼如下:var sToMatch = "cat"; var reCat = /cat/; //Regex字面量使用Perl風格的文法
Time of Update: 2018-12-08
但是parseInt("08", 10)是可以返回8的。 為搞清楚兩者的區別, 參考了別人寫的parseInt&Number的區別: parseInt Parses a string argument and returns an integer of the specified radix or base. 核心函數 實現版本 Navigator 2.0: If the first character of the string specified in
Time of Update: 2018-12-08
使用樣本: 複製代碼 代碼如下:var qs = new QueryString(query); qs.set("ajaxids", ids) qs.set("ajaxsn", new Date()) query = qs.toStr(); 也可以連續調用: 複製代碼 代碼如下:query = new QueryString(query).set("ajaxids", ids).set("ajaxsn", new Date()).toStr(); 其它用法就自己看代碼琢磨吧。 完整代碼:
Time of Update: 2018-12-08
首先我們繼續上文的代碼,我們來把這段代碼延伸一下: 複製代碼 代碼如下:<script type="text/javascript"> var Person = function (name, age) { this.name = name; this.age = age; this.Introduce = function () { alert("My name is " + this.name + ".I'm " + this.age); }; }; var person1 =