Time of Update: 2017-01-19
在每個函數中,都有個名為 arguments 的變數,它以類似數組的形式儲存了當前調用的參數。而它實際上並不是個數組,使用 typeof arguments 語句嘗試會返回“object”(對象),所以它不能像 Array 一樣使用 push 和 pop 等方法。即便如此,仍然可以使用下標以及長度屬性(length)擷取它的值。 編寫靈活的函數 雖看起來名不經傳,但的確 arguments 是非常有用的對象。比如,你可以讓函數處理不定數目的參數。在 Dean Edwards 寫的 base2
Time of Update: 2017-01-19
效果截圖: html 代碼: 複製代碼 代碼如下: <!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> <title>選擇貨架號</title>
Time of Update: 2017-01-19
var list = [{id:1, name:"czone", age:21}, {id:2, name:'czonechan', age:21}]; var template ='<div id="p$id"><span class="name">$name</span><span class="age">$age</span></div>'; 實現一個通用方法,使用初始化資料來裝配模版。 複製代碼 代碼如下:
Time of Update: 2017-01-19
首先,要實現產生n以內不重複的隨機數,並將產生的隨機數放入另一個Array中,用以下方法來完成: 複製代碼 代碼如下: function getRandomNumbers(count) { var numbers = new Array(); var original = new Array(); for (var i=0;i<count;i++) { original[i] = i+1; } original.sort(function(){ return 0.5 -
Time of Update: 2017-01-19
如代碼塊 複製代碼 代碼如下: if (true) { int i = 100; } print(i); //錯誤,變數i沒有聲明 如上面例子所示,代碼塊外的函數是無法訪問i變數的。 但在javaScript裡,情況則完全不同。 複製代碼 代碼如下: if (true) { var i = 100; } alert(i); //彈出框並顯示100
Time of Update: 2017-01-19
JavaScript的假值列表如下, 值 類型0NumberNaN (非數字)Number'' (Null 字元串)StringfalseBooleannullObjectundefinedUndefined以上的值作為判斷條件,都將為假值,如: 複製代碼 代碼如下: if(undefined) { alert('undefined'); //這行代碼不會執行 } while(null) { alert('null'); //這行代碼不會執行 } 雖然這些值全部都等同於假,
Time of Update: 2017-01-19
對於Array對象我的總結思想是:5法,3招,12式 1.聲明5法:只針對一維數組,當然還有二維三維,這裡就不做解釋了 複製代碼 代碼如下: var a = new Array(); var a = new Array; var a = new Array(10);//建立Array對象,並指定數組中項的個數 var a = new Array("red","blue","green"); var a = ["red"," blue"," green"];
Time of Update: 2017-01-19
1.onchange 及其onpropertychange,oninput 在IE下可使用onpropertychangel立即觸發監聽, oninput 可以使用在FF下,但必須使用w3c推薦的addEventListener的方式來綁定事件. http://www.jb51.net/article/25275.htm2. <button></button>也有type屬性:
Time of Update: 2017-01-19
javascript選定文本取消, 能相容所有主流瀏覽器了: 複製代碼 代碼如下: if (document.selection) { document.selection.empty(); } else if (window.getSelection) { window.getSelection().removeAllRanges(); } 對於文字框(input,textarea)中的文本選定取消, 這種方法會有一些問題. 不過也有辦法, 記錄下文字框中的value,再清空,再重新賦值.
Time of Update: 2017-01-19
一、類型轉換的方法和應該注意的問題:1.轉換為布爾型:(1)用兩次非運算(!):!!5 ==> true(2)用布爾型的建構函式:new Boolean(5) == > true值轉換為布爾類型為false:0,+0,-0,NaN,""(Null 字元串),undefined,null除上面的值其他值在轉換以後為true,需要特別提到的是:"0",new Object(),function(){}2.轉換為字串類型:(1)加上Null 字元串"":123 + "" = "123"(2
Time of Update: 2017-01-19
我們詳細描述: 1)對於運算式對象的exec方法,不加入g,則只返回第一個匹配,無論執行多少次均是如此,如果加入g,則第一次執行也返回第一個匹配,再執行第二個匹配,依次類推。例如: 複製代碼 代碼如下: var regx=/user\d/; var str=”user18duser2dsc”; var rs=regx.exec(str);//此時rs的值為{user1} var rs2=regx.exec(str);//此時rs的值依然是{user1}
Time of Update: 2017-01-19
每個對像都有一個隱慝的屬性用於指向到它的父對像(構造對像的函數)的原型(這裡稱為父原型或隱式原型),並從中繼承它的屬性和方法 [函數對像除了父原型引用外,還有一個顯式的原型引用],在一般情況下,對像的父原型是不可以訪問的,而函數對像的顯式原型可以通過FunctionName.prototype進行訪問 [在FireFox中你可以通過對像的__proto__屬性來訪問對像的父原型] 這個原型屬性本身又是一個Object類型的對像,因此可以給這個原型屬性添加任意的屬性和方法
Time of Update: 2017-01-19
玩法說明:上下左右控制移動,空格發彈。 每打中一個敵機就加100分,每提升5000分,玩家的飛機的一次發彈數就加一,最多四,被敵機撞到或者讓敵機飛到底部就算輸。。。。 示範代碼:http://demo.jb51.net/js/FlyBeat/index.html遊戲目前的功能還是比較簡單的。。。。貌似就貼個源碼不太好,所以這次還是寫寫思路。。。 遊戲主要分為4個js檔案,4個js檔案分別包含4個類。 1:飛機類---Flyer 複製代碼 代碼如下: //飛機對應的dom元素 this.dom =
Time of Update: 2017-01-19
來看一個簡易的 Javascript 調試包:jscript.debug.js,包含兩個函數,第一個用來遍曆對象的各個屬性;第二個是一個通用的 Debug 函數(其實 說‘對象'比較‘精確些',呵呵),用來規定各種錯誤層級及其各種提示、錯誤資訊的格式化顯示,還是《Javascript 實戰》上面的經典例子,先看源碼: 複製代碼 代碼如下: /** * jscript.debug package * This package contains utility functions for
Time of Update: 2017-01-19
由於頂級對象是使用類庫幾乎所有功能的入口,在編碼中會頻繁地輸入這幾個字元,因此在設計類庫時,頂級對象名輸入的簡便性也是相當重要的。 在此將從對象名稱的長度、輸入對象名稱的按鍵順序這兩個方面對三個類庫進行重點比較,同時力求照顧到一些特別的點,從而得出一個較為全面的評測結果。 名稱長度 jQuery共有6個字元組成,從長度上而言是三個類庫中最長的一個,同時包含了一個大寫字母Q,在輸入過程中需要加入一次SHIFT鍵,因此長度值給定為7。
Time of Update: 2017-01-19
因為是輔助類庫,所以為了相容所有其他架構和類庫,採用了封裝器的方式對對象進行擴充。D類庫的最主要的內容是針對js常用內建對象的擴充,比如:String,Number,Array,Date等,這些擴充偏於具體的商務邏輯,比如對String擴充的trim方法、對Date擴充的toStr方法等,都是對一些常用但對象本身不支援且架構類庫也不支援或不完整支援的功能擴充。同時通過對應封裝器的封裝我們可以通過鏈式方法來操作對象,最後每個封裝器都提供了拆箱(即還原為原生對象)方法。故封裝器提供的實質是一個裝箱、
Time of Update: 2017-01-19
Javascript中的變數同樣支援自由類型轉換成為適用(或者要求)的內容以便於使用。
Time of Update: 2017-01-19
1、call call 方法 調用一個對象的一個方法,以另一個對象替換當前對象。 call([thisObj[,arg1[, arg2[, [,.argN]]]]]) 參數 thisObj 可選項。將被用作當前對象的對象。 arg1, arg2, , argN 可選項。將被傳遞方法參數序列。 說明 call 方法可以用來代替另一個對象調用一個方法。call 方法可將一個函數的物件內容從初始的上下文改變為由 thisObj 指定的新對象。 如果沒有提供 thisObj 參數,那麼 Global
Time of Update: 2017-01-19
常見的綁定事件有直接綁定在頁面元素中比如<div id="wrap" onclick="a();"></div>,這個換種方法也就是分離出來寫在js代碼裡如document.getElementById('wrap').onclick = function(){a();},此時如果需要綁定多個方法則直接寫在一起即可如document.getElementById('wrap').onclick = function(){a();b();}或<div
Time of Update: 2017-01-19
下文有大概70%的內容出自http://www.quirksmode.org/js/this.html,另外30%是我自己對它的理解和感想。希望能對有需要的人一點協助。。。 首先,先看一個很典型的關於this關鍵字題目:複製代碼 代碼如下: var name = 'hong' var obj = { name: 'ru', getName: function(){ return function(){ return this.name; }; } } alert(obj.getName()())