Time of Update: 2018-12-08
一、前言 JavaScript語言在不同的瀏覽器的下有存在細微的差異,但不像DOM操作差異那麼大,現在為大家列舉出其中一個"for迴圈"的差異,並介紹如何有效解決這種差異。 二、問題描述 在下面的 測試代碼 例1 中IE6和Chrome輸出的結果是不一致,IE6不執行for語句裡的代碼 複製代碼 代碼如下://例1: alert("準備測試toString是否被for迴圈枚舉出來") var forTest = { toString: 1 } for (i in forTest) {
Time of Update: 2018-12-08
Html 及 JS 代碼如下: 複製代碼 代碼如下:<div id="newsOne" onmouseover="CleartTimeInterVal();" onmouseout="resetInterVal();" style="position: absolute; width: 100px;"> <a href="http://www.jb51.net" target="_blank">指令碼之家</a> </div>
Time of Update: 2018-12-08
js的時區函數: 設datename為建立的一個Date對象 ==================== datename.getTimezoneOffset() --取得當地時間和GMT時間(格林威治時間)的差值,傳回值以分鐘為單位 ==================== 舉例:根據本地時間獲得GMT時間和任意時區的時間 d=new Date(); //建立一個Date對象 localTime = d.getTime(); localOffset=d.getTimezoneOffset()*6
Time of Update: 2018-12-08
複製代碼 代碼如下:/^(d*.d{0,2}|d+).*$/ hansir給出的測試代碼如下: 複製代碼 代碼如下:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> &
Time of Update: 2018-12-08
現在也有很多JS動態載入的架構,比如In.js。但是這種並不是我想要的編寫方式,我來說說我的想法。 先來一段java代碼 複製代碼 代碼如下:import Biz.User; User u = new User(); u.show(); 按流程就是導包、執行個體化、調用。 JS是做不了導包的,或者說代碼意義上的導包,一般只是在頁面上進行script標籤的引入。 那麼 先假設需要寫成這樣 複製代碼 代碼如下:Using("User"); var u = new User(); u.show();
Time of Update: 2018-12-08
1、邏輯非 邏輯非用!表示,可以應用與ECMAScript的任何類型的值,邏輯非操作返回的是一個布爾值(true/false)。該操作符首先會將它的運算元轉換為一個布爾值,然後再對其求反。 下面說明下Boolean()轉型函數的一組規則。 資料類型轉換為true的值轉換為false的值BooleantruefalseString 任何非Null 字元串""(Null 字元串)Number 任何非零數字值(包括無窮大)0和NaNObject任何對象nullUndefined
Time of Update: 2018-12-08
自動序列編號和自動屬性編號,如下:實現原理: 添加和刪除是逆向過程,實現是一致的。 增加時,向父容器中增加元素append方法,並將所有的自訂屬性編號和序列編號設定為空白,然後通過$.each方法,重新為自訂屬性編號和序列編號賦值。 複製代碼 代碼如下:$.each(items, function (k, v) { $(this).attr("opt", "mopt" + k); serials.eq(k).html(k); });
Time of Update: 2018-12-08
build.js中的代碼會去調用UglifyJS的介面函數以執行壓縮任務。 1,去github下載最新的UglifyJS。兩種方式下載,如果安裝了git,進入git控制台使用如下命令 git clone git://github.com/mishoo/UglifyJS.git 或者使用http方式下載,點擊zip下載。解壓後其目錄結構如下
Time of Update: 2018-12-08
2.1 文法 區分大小寫、變數弱類型、行尾分號可有可無、注釋為雙斜線、括弧表明代碼塊 2.2 變數 變數用var聲明,變數的命名規則:第一個字元必須是字母、底線或貨幣符號;餘下的字元可以是底線、貨幣符號或任何字母或數字字元。 變數命名規範: Camel標記法:首字母小寫,接下來的單詞都以大寫字母開頭。例如:var myTestValue=0,mySecondTestValue="hi"; Pascal標記法:首字母大寫,接下來的單詞都以大寫字母開頭。例如:var
Time of Update: 2018-12-08
前言 本章我們要講解的是S.O.L.I.D五大原則JavaScript語言實現的第2篇,開閉原則OCP(The Open/Closed Principle )。 開閉原則的描述是: Software entities (classes, modules, functions, etc.) should be open for extension but closed for modification. 軟體實體(類,模組,方法等等)應當對擴充開放,對修改關閉,即軟體實體應當在不修改的前提下擴充。
Time of Update: 2018-12-08
簡介 Module模式是JavaScript編程中一個非常通用的模式,一般情況下,大家都知道基本用法,本文嘗試著給大家更多該模式的進階使用方式。 首先我們來看看Module模式的基本特徵: 模組化,可重用 封裝了變數和function,和全域的namaspace不接觸,松耦合 只暴露可用public的方法,其它私人方法全部隱藏 關於Module模式,最早是由YUI的成員Eric
Time of Update: 2018-12-08
也就是說,移到對象的子物件上,也算onmouseout了。但這往往會達不到我們想要的預期效果。這是由於javascript自身的冒泡特性導致的(即在子項目上觸發了事件,並冒泡到了父元素-堆棧後進先出演算法)。今天在網上搜了一下,找了以下的解決辦法(相容IE和Firefox)。 在IE下解決問題很簡單,用onMouseEnter、onMouseLeave來代替onMouseOver、onMouseOut就行了,他們的作用基本相同,但前者不會發生冒泡(如果用
Time of Update: 2018-12-08
先用一個簡單的例子說明: 複製代碼 代碼如下:var o={flag:true}; var test=!!o.flag;//等效於var test=o.flag||false; alert(test);
Time of Update: 2018-12-08
查了不少資料,最後結論如下: 複製代碼 代碼如下:function orientationChange(){ switch(window.orientation) { case 0: // Portrait case 180: // Upside-down Portrait // Javascript to setup Portrait view break; case -90: // Landscape: turned 90 degrees counter-clockwise case 90:
Time of Update: 2018-12-08
先看圖: 很簡單的一個效果 首先html 複製代碼 代碼如下:<ul> <li><img src="i.jpg" alt="" /></li> <li><img src="i.jpg" alt="" /></li> <li><img src="i.jpg" alt="" /></li> <li><img src="i.jpg" alt="" /><
Time of Update: 2018-12-08
那麼有什麼不同呢?先看一個例子: 一個二級級聯動態下拉式清單方塊,一級分類(即大類別)id="vSort0". 複製代碼 代碼如下:<head> function changelocation(id) {…………} </head> <body><select class="input1" id="vSort0" name="vSort0"
Time of Update: 2018-12-08
l ECMAScript,有ECMA-262定義,明確javascript這門語言的規則和約定,好比為開始一場遊戲指定的遊戲規則、規範、約定。 l DOM:提供訪問和操作網頁內容的方法和介面 l BOM,提供與瀏覽器互動的方法和介面 ECMA-262規定了以下內容: l 文法 l 類型 l 關鍵字 l 保留字 l 操作符 l 對象 ECMAScript是對該標準規定的各方面內容的程式設計語言描述,javascript實現了ECMAScript指定內容並進行了擴充。
Time of Update: 2018-12-08
文章目錄 實用技巧:用Regex控制價格輸入 胡開明用Regex控制價格輸入-->實用技巧:用Regex控制價格輸入銷售價
Time of Update: 2018-12-08
本文就是介紹在使用 Javascript 中使用 exec 進行Regex全域匹配時的注意事項。 先看一下常見的用法: 複製代碼 代碼如下:<script type="text/javascript"> var pattern = /http:\/\/([^\/\s]+)/; alert(pattern.exec('http://www.codebit.cn')); // http://www.codebit.cn,www.codebit.cn alert(pattern.exec(
Time of Update: 2018-12-08
1. Javascript代碼應符合Douban-JSLint檢驗標準 1-1. 語句必須都有分號結尾,除了for, function, if, switch, try, while 1-2. 只有長語句可以考慮斷行,如: TEMPL_SONGLIST.replace('{TABLE}', da['results']) .replace('{PREV_NUM}', prev) .replace('{NEXT_NUM}', next) .replace('{CURRENT_NUM}',