Time of Update: 2017-01-19
最近一直在用js,好好研究了下js數組的操作,在這裡總結一下。1、數組的建立複製代碼 代碼如下:var arrayObj = new Array(); //建立一個數組var arrayObj = new Array([size]); //建立一個數組並指定長度,注意不是上限,是長度var arrayObj = new Array([element0[, element1[, ...[,
Time of Update: 2017-01-19
一、一些概念: 1、滑鼠事件有一個botton屬性:返回一個整數,用於表示點擊的是哪個滑鼠按鍵。 BUG:在IE和標準DOM的滑鼠事件中,唯一一個button屬性值相同的是“單擊右鍵”事件,都返回2。 2、事件onmousedown:表示滑鼠按鍵按下的動作。 事件oncontextmenu:點擊滑鼠觸發的另一個事件。 3、中斷預設事件處理函數的方法:IE中設定returnValue=false; 標準DOM中調用preventDefault()方法。 4、事件對象:①
Time of Update: 2017-01-19
封裝好的運動架構Move(obj,attr,iTarget),可直接調用:可用於設定width、border、fontSize、marginLeft、opacity等許多常見屬性值的變速變化,實現各種有趣效果。相容IE和FF。複製代碼 代碼如下:/**************** * * IE-BUG: *
Time of Update: 2017-01-19
如果對範圍,函數為獨立的對象這樣的基本概念理解較好的話,理解閉包的概念並在實際的編程實踐中應用則頗有水到渠成之感。在DOM的事件處理方面,大多數程式員甚至自己已經在使用閉包了而不自知,在這種情況下,對於瀏覽器中內嵌的JavaScript引擎的bug可能造成記憶體流失這一問題姑且不論,就是程式員自己調試也常常會一頭霧水。用簡單的語句來描述JavaScript中的閉包的概念:由於JavaScript中,函數是對象,對象是屬性的集合,而屬性的值又可以是對象,則在函數內定義函數成為理所當然,如果在函數f
Time of Update: 2017-01-19
本文執行個體講述了JavaScript文法高亮庫highlight.js用法。分享給大家供大家參考,具體如下:highlight.js是一款基於JavaScript的文法高亮庫,目前支援125種程式設計語言,有63種可供選擇的樣式,而且能夠做到語言自動識別,和目前主流的JS架構都能相容,可以混合使用。這款高亮庫可以用在部落格系統中,其使用方法及其簡單,幾乎不需要任何學習成本,下面介紹highlight.js的使用。1.擷取highlight.js庫,使用者可以從官網擷取:地址:https://h
Time of Update: 2017-01-19
altKey, button, cancelBubble, clientX, clientY, ctrlKey, fromElement, keyCode, offsetX, offsetY, propertyName, returnValue, screenX, screenY, shiftKey, srcElement, srcFilter, toElement, type, x, y 1.altKey 描述: 檢查alt鍵的狀態。 文法: event.altKey 可能的值:
Time of Update: 2017-01-19
Email:longsu2010 at yeah dot net js String的replace函數的函數簽名如下: replace(match/* 字串ORRegex */, replacement/* 字串OR函數 */) 作用是將源自符串中的match替換為replacement並返回替換後的字串。 如果第一參數是字串就沒什麼好說的了,但是要記住此時只在源自符串替換一次match(第一次)函數就執行完成了。所以第一參數通常是一個Regex,舉例如下: replace(/a/g, "b"
Time of Update: 2017-01-19
傳統方式 element.onclick = function(e){ // ... }; 1. 傳統綁定的優點非常簡單和穩定,可以確保它在你使用的不同瀏覽器中運作一致處理事件時,this關鍵字引用的是當前元素,這很有幫組2. 傳統綁定的缺點 傳統方法只會在事件冒泡中運行,而非捕獲和冒泡一個元素一次只能綁定一個事件處理函數。新綁定的事件處理函數會覆蓋舊的事件處理函數事件對象參數(e)僅非IE瀏覽器可用W3C方式
Time of Update: 2017-01-19
什麼是跨域JavaScript出於安全方面的考慮,不允許跨域調用其他頁面的對象。但在安全限制的同時也給注入iframe或是ajax應用上帶來了不少麻煩。這裡把涉及到跨域的一些問題簡單地整理一下:首先什麼是跨域,簡單地理解就是因為JavaScript同源策略的限制,a.com 網域名稱下的js無法操作b.com或是c.a.com網域名稱下的對象。更詳細的說明可以看下錶: URL 說明 是否允許通訊
Time of Update: 2017-01-19
javascript scrollTop 擷取捲軸相對於其頂部的位移(如製作自動顯示隱藏的“返回頂部”按鈕)。在實際應用中經常會遇到以下問題:document.documentElement.scrollTop在Chrome裡總為0document.body.scrollTop 在IE和firefox裡總為01、各瀏覽器下
Time of Update: 2017-01-19
原生javascript代碼寫的2048遊戲。建議在Google瀏覽器下跑。2048.html 複製代碼 代碼如下:<!DOCTYPE><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>2048</title><link
Time of Update: 2017-01-19
之前看到有人分析12306背景邏輯。。火車票的預定和退訂不同於普通的購物。一個難題就是火車票可以分站來賣。比如,一張北京到上海的火車票,沿途可以有很多站,可以北京-濟南,濟南-南京...等等。如何設計資料模型來存取這些票是一個問題。而不是簡單的數量+-1.其中看到一條思路挺好:用二進位字串來表示一張火車票,比如,北京到上海共10站,那麼一張全程票初始狀態表示為:'1111111111';賣出一張全程票,則該票變為'0000000000';賣出一張半程票,比如北京-濟南三站(第一站-第三站),則票
Time of Update: 2017-01-19
1、數組的建立複製代碼 代碼如下:var arrayObj = new Array(); //建立一個數組var arrayObj = new Array([size]); //建立一個數組並指定長度,注意不是上限,是長度var arrayObj = new Array([element0[, element1[, ...[,
Time of Update: 2017-01-19
一、數組的操作1、數組的建立複製代碼 代碼如下:var arrayObj = new Array(); //建立一個數組var arrayObj = new Array([size]); //建立一個數組並指定長度,注意不是上限,是長度var arrayObj = new Array([element0[, element1[, ...[, elementN]]]]);//建立一個數組並賦值要說明的是,雖然第二種方法建立數組指定了長度,但實際上所有情況下數組都是變長的,也就是說即使指定了長度為5
Time of Update: 2017-01-19
對一個值使用typeof操作符可能返回下列某個字串:“undefined”——如果這個值未定義“boolean”——如果這個值是布爾值“string”——如果這個值是字串“number”——如果這個值是數值“object”——如果這個是對象或null“function”——如果這個值是函數常用的typeof操作符的傳回值包括number、string、boolean、undefined 、object和function。如:複製代碼 代碼如下:var n;console.log(typeof
Time of Update: 2017-01-19
一、定義Regex的方法定義Regex的方法有兩種:建構函式定義和Regex直接量定義。例如:複製代碼 代碼如下:var reg1 = new RegExp('\d{5, 11}'); // 通過建構函式定義var reg2 = /\d{5, 12}/; // 通過直接量定義Regex直接量字元 \o:NUL字元(\u0000) \t:定位字元(\u00
Time of Update: 2017-01-19
插入排序在對幾乎已經排好序的資料操作時, 效率高, 即可以達到線性排序的效率。但插入排序一般來說是低效的, 因為插入排序每次只能將資料移動一位。希爾排序按其設計者希爾(Donald Shell)的名字命名,該演算法由1959年公布。一些老版本教科書和參考手冊把該演算法命名為Shell-Metzner,即包含Marlene Metzner
Time of Update: 2017-01-19
一個等號就是個賦值的作用,主要問題在於兩個跟三個等號的區別。 javaScript中兩個等號和三個等號之間的區別 一言以蔽之:==先轉換類型再比較,===先判斷類型,如果不是同一類型直接為false。 ===表示恒等於,比較的兩邊要絕對的相同 alert(0 == ""); // true alert(0 == false); // true alert("" == false); // true alert(0 === ""); // false alert(0 === false); //
Time of Update: 2017-01-19
只要是寫過點JS代碼,很簡單一個var 就完事了。那對於JS編譯器背後它又發生了什麼呢?那就一步步通過代碼來講起。 複製代碼 代碼如下: x = 1; alert(x); var y = function() { alert(x); var x = 2; alert(x); } y(); 上面的代碼也會你答對了它會分別輸出:1,undefined,2。對於我來說,第一反應它會輸出:1,1,2。為什麼第二個會輸出undefined?在上面我明確定義了一個全域變數x,為何找不到?
Time of Update: 2017-01-19
JavaScript中的運算子有很多,主要分為算術運算子,等同全同運算子,比較子,字串運算子,邏輯運算子,賦值運算子等。這些運算子都有一些屬於自己的運算規則,下面就為大家介紹一下JavaScript中的運算子。 一、JavaScript運算子的種類 1、算術運算子:+ 、 - 、* 、 / 、 % 、 -(一元取反) 、 ++ 、 -- 2、等同全同運算子:== 、 ===、 !== 、 !=== 3、比較子:< 、 > 、 <= 、 >=