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
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
ok,不廢話了,實現一個javascript的Timer吧 比起as3的Timer類,功能上略有改動 timer2.src.js 複製代碼 代碼如下:/** * Timer 模型 * * @author rainsilence * @version 2.0 */ (function() { /** * TimerEvent constructor 構造器 * * @param type 事件類型 * @param bubbles 是否毛票 * @param cancelable 是否可取消 */
Time of Update: 2018-12-08
當然,我們也可以用正則直接匹配,文章中也給出了一個正則的例子。 分解連結的方式: 複製代碼 代碼如下:<script type="text/javascript"> <!-- // 說明:Javascript 擷取連結(url)參數的方法 function getQueryString(name) { // 如果連結沒有參數,或者連結中不存在我們要擷取的參數,直接返回空 if(location.href.indexOf("?")==-1 ||
Time of Update: 2018-12-08
事件本身相當直觀,常用的有:
Time of Update: 2018-12-08
文章目錄 charCode 第一個問題是對於按鍵事件來說根本就沒有標準,按照規範說的:包含鍵盤等輸入裝置的事件模型會在以後的DOM規範中作出解釋。 正如我們瞭解到的,瀏覽器在最開始設計的時候並沒有一個標準,大家都像做實驗似的,最後的成品雖然是有用的,但是肯定造成了相容性的問題。按鍵問題也不例外:這裡有兩個屬效能檢測到使用者按下了什麼鍵,雖然有足夠的理由為什麼需要兩個屬性,但是依然並不是所有的瀏覽器都支援。
Time of Update: 2018-12-08
複製代碼 代碼如下:function searchParse(){ var resultObj = {}; var search = window.location.search; if(search && search.length > 1){ var search = search.substring(1); var items = search.split('&'); for(var index = 0 ; index < items.length ;
Time of Update: 2018-12-08
複製代碼 代碼如下:function addEventSimple(obj,evt,fn) { if (obj.addEventListener) obj.addEventListener(evt,fn,false); else if (obj.attachEvent) obj.attachEvent('on'+evt,fn); } function removeEventSimple(obj,evt,fn) { if
Time of Update: 2018-12-08
代碼 複製代碼 代碼如下:<body> 使用者名稱:<input type="text" id="name" /> <div id="d" style="display:none; background:#999900;"></div> //驗證結果顯示,注意display是隱藏的 <br /> 密碼: <input type="text" id="pwd" onfocus="bb()" />
Time of Update: 2018-12-08
abs 方法 返回一個數的絕對值。 acos 方法 返回一個數的反餘弦。 anchor 方法 在對象的指定文本兩端加上一個帶 NAME 屬性的 HTML 錨點。 asin 方法 返回一個數的反正弦。 atan 方法 返回一個數的反正切。 atan2 方法 返回從 X 軸到點(y, x)的角度(以弧度為單位)。 atEnd 方法 返回一個表明枚舉運算元是否處於集合結束處的 Boolean 值。 big 方法在String 對象的文本兩端加入 HTML 的<BIG>標識。 blink
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
第一段代碼就是強調一下這個用法,我在我的項目中使用了一個switch,後來我發現這樣的代碼好醜,於是我就寫成||&&形式的, 後來測試效能的時候,發現效能竟然上了一個數量級,可見這種寫法在某些情況下可以增加效能,但是我並不確定是何種情況才能提高效能,因為我測試在通常情況下switch和||&&的效能是差不多的. 原來的代碼: 複製代碼 代碼如下:switch(this.now_char=this.str.charAt(this.index)){ case "/":
Time of Update: 2018-12-08
直到有那麼一天,我開始在js中拼湊DOM標籤,而且需要不停的拼湊,我發現My Code變得愈發的醜陋,不僅上是代碼簡潔的問題,甚至有時候還引發了效能問題。長此以往,不出三個月,上帝都將會不知道我寫過些什麼,本篇的目的完全出於記錄使用心得。 首先,還是來看一下促使我改變書寫JavaScript習慣的垃圾代碼,在練習、測試、調試、甚至正式項目中,大量的充斥著下面的代碼。 複製代碼 代碼如下:Function finduser(userId) { } Function showmessage(msg)
Time of Update: 2018-12-08
回顧 事件對象裡包含三個方面的資訊····回看上一篇內容! 事件對象裡的屬性和方法,主要是滑鼠和鍵盤的資訊。 1. 擷取事件類型 事件對象屬性type 2. 擷取按鍵代碼 事件對象屬性keyCode:斷行符號為13,空格為32,後退鍵為8 3. 檢測Shift、Alt、Ctrl鍵 事件對象屬性是否被按下:shiftKey、altKey、ctrlKey 4. 擷取用戶端座標 事件對象屬性clientX和clientY 5. 擷取螢幕座標 事件對象屬性screenX和screenY 事件的類型
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
PS:顯示,大家可以根據自己的需求調整圖片的樣式哦代碼 複製代碼 代碼如下:<style type="text/css"> //圖片瀏覽器容器 #container{position:absolute;} #container img{position:absolute;} //半透明遮罩層樣式 .mask2{ background:#99FF00; opacity:0.3; filter:Alpha(Opacity='30'); position:absolute; }
Time of Update: 2018-12-08
1、 傳遞參數時需要使用encodeURIComponent,這樣組合的url才不會被#等特殊字元截斷。 例如:<script language="javascript">document.write('<a href="http://passport.baidu.com/?logout&aid=7&u='+encodeURIComponent("http://cang.baidu.com/bruce42")+'">退出</a>');</