Time of Update: 2017-01-18
參考型別參考型別主要包括:Object 類型、Array 類型、Date 類型、RegExp 類型、Function 類型等等。參考型別使用時,需要從它們身上產生一個對象(執行個體)。也就是說,參考型別相當於一個模版,當我們想要用某個參考型別的時候,就需要用這個模版來產生一個對象來使用,所以參考型別有時候也稱作對象定義。例如,我們需要產生一個 person 對象,來定義某人的個人資訊和行為,那麼我們就需要依賴 Object 類型:var person = new Object();person.
Time of Update: 2017-01-18
對話方塊可以分為強制回應對話方塊和無強制回應對話方塊兩種,兩者區別是在對話方塊被關閉之前使用者能否在同一應用程式的其他地方進行工作。舉例說明:開啟檔案對話方塊便是典型的強制回應對話方塊,在你選擇好要開啟的檔案按下確定後,或者取消開啟檔案操作後,才可以在同一應用程式進行其他動作。而常見的尋找和替換對話方塊便是無強制回應對話方塊的典型,在該對話方塊開啟的同時,我們還可以進行其他工作。強制回應對話方塊會始終保持焦點。除非關閉對話方塊,否則無法切換視窗。 無強制回應對話方塊不會始終保持焦點,但
Time of Update: 2017-01-18
大多數程式設計語言中,都有類和對象,一個類可以繼承其他類。在JavaScript中,繼承是基於原型的(prototype-based),這意味著JavaScript中沒有類,取而代之的是一個對象繼承另一個對象。:)1. 繼承, the proto在JavaScript中,當一個對象rabbit繼承另一了對象animal時,這意味著rabbit對象中將會有一個特殊的屬性:rabbit.__proto__ =
Time of Update: 2017-01-18
Object類型Array類型重排序方法: compare升序:function compare(value1, value2){ if (value1<value2){ return -1; } if (value1>value2){ return 1; } else{ return 0; }}var values = [0,1,5,10,15];values.sort(compare);console.log(values); // [0,1,5,10
Time of Update: 2017-01-18
1. 不得不說說二叉樹要瞭解堆首先得瞭解一下二叉樹,在電腦科學中,二叉樹是每個節點最多有兩個子樹的樹結構。通常子樹被稱作“左子樹”(left subtree)和“右子樹”(right subtree)。二叉樹常被用於實現二叉尋找樹和二元堆積。二叉樹的每個結點至多隻有二棵子樹(不存在度大於 2 的結點),二叉樹的子樹有左右之分,次序不能顛倒。二叉樹的第 i 層至多有 2i - 1 個結點;深度為 k 的二叉樹至多有 2k - 1 個結點;對任何一棵二叉樹 T,如果其終端結點數為 n0,度為 2
Time of Update: 2017-01-18
sessionStorage 、localStorage 和 cookie 之間的共同點:都是儲存在瀏覽器端,且同源的。sessionStorage 、localStorage 和 cookie
Time of Update: 2017-01-18
1.四種瀏覽器對 document.body 的 clientHeight、offsetHeight 和 scrollHeight 的解釋。這四種瀏覽器分別為IE(Internet Explorer)、NS(Netscape)、Opera、FF(FireFox)。clientHeight大家對 clientHeight 都沒有什麼異議,都認為是內容可視地區的高度,也就是說頁面瀏覽器中可以看到內容的這個地區的
Time of Update: 2017-01-18
回調地獄對 JavaScript 程式員來說,處理回調是家常,但是處理層次過深的回調就沒有那麼美好了,下面的範例程式碼片段用了三層回調,再補腦一下更多層的情境,簡直是酸爽,這就是傳說中的回調地獄。getDirectories(function(dirs) { getFiles(dirs[0], function(files) { getContent(files[0], function(file, content) { console.log('filename:',
Time of Update: 2017-01-18
在編寫js程式的過程中,可能常常需要判斷一個對象的類型,例如你寫了一個函數,需要通過判斷不同的參數類型來編寫不同的代碼。首先可能會想到typeof操作符,看下面的這個例子: <script type="text/javascript"> var object = {}; var b = true; alert(typeof object + " " + typeof b); </script>
Time of Update: 2017-01-18
冒泡排序樣本,雙向冒泡排序與對雙向冒泡排序稍微的改進的視覺效果。代碼很簡單,不知道有木有未知bug。大神請勿吐槽冒泡排序樣本var ls=[ 98,13,6,25,38,36,30,44,38,80,61,28,47,34,95,18,85,58,89,85,42,61,74,35,13,14,80,7,10,44,10,47,13,11,52,25,24,48,34,12,88,80,33,8,80,45,64,52,79,77 ]; for(var i=0;i<ls.length;i+
Time of Update: 2017-01-18
在JS中,這三者都是用來改變函數的this對象的指向的,他們有什麼樣的區別呢。在說區別之前還是先總結一下三者的相似之處:1、都是用來改變函數的this對象的指向的。2、第一個參數都是this要指向的對象。3、都可以利用後續參數傳參。那麼他們的區別在哪裡的,先看一個例子。 var xw = { name : "小王", gender : "男", age : 24, say : function(
Time of Update: 2017-01-18
以下內容會分為如下小節:1.call/apply/bind方法的來源2.Function.prototype.call()3.Function.prototype.apply() 3.1:找出數組中的最大數 3.2:將數組的空元素變為undefined 3.3:轉換類似數組的對象4.Function.prototype.bind()5.綁定回呼函數的對象6.call,apply,bind方法的聯絡和區別1.call/apply/bind方法的來源首先,在使用call,apply,bind方
Time of Update: 2017-01-18
一、資料類型5種基礎資料型別 (Elementary Data
Time of Update: 2017-01-18
本文執行個體講述了JavaScript掃雷遊戲。分享給大家供大家參考,具體如下:翻出年初寫的遊戲貼上來,掃雷相信大家都玩過,先上圖:源碼:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html
Time of Update: 2017-01-18
本文執行個體講述了JavaScript擷取伺服器時間的方法。分享給大家供大家參考,具體如下:Javascript是運行在用戶端的指令碼,我們一般都用new
Time of Update: 2017-01-18
下面我們要談談帶有"g" 標記的Regex的使用問題,首先讓我們看一段代碼,從例子入手更容易理解。 複製代碼 代碼如下:1 function a(val) 2 { 3 var re = /^\d+$/g; 4 alert(re.lastIndex); 5 return re.test(val); 6 } 7 alert(a(5)); 8 alert(a(6)); 運行上述代碼,在不同瀏覽器中會得到不同結果,IE中:0 true 0 true,FF和Chrome中:0 true 1
Time of Update: 2017-01-18
1、建立Regex 第一種方式:注意這裡的Regex不能使用單引號或者雙引號,如下 var pattern1 = /[abc]/i; // 匹配第一個"a"或"b"或"c",不區分大小寫 第二種方式:使用RegExp建構函式建立,該建構函式傳入兩個參數,都是字串,所以需要特別注意"\"符號的轉換,所有元字元(下面有講元字元)需要雙重轉義,如下 複製代碼 代碼如下: var patt1 = new RegExp("[abc]","gi"); // 這裡等價於 var patt1 = /[abc]/
Time of Update: 2017-01-18
Try testing the following form with valid and invalid email addresses. The code uses javascript to match the users input with a regular expression. 函數代碼: 複製代碼 代碼如下: function validate(form_id,email) { var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.]
Time of Update: 2017-01-18
arguments是什嗎?arguments是函數調用時,建立的一個類似的數組但又不是數組的對象,並且它儲存的是實際傳遞給函數的參數,並不局限於函式宣告的參數列表哦。尼瑪,什麼意思?寫個demo看看,代碼見下<!DOCTYPE html> <head> <title>arguments</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-
Time of Update: 2017-01-18
匹配中文字元的Regex:複製代碼 代碼如下:[\u4e00-\u9fa5]匹配雙位元組字元(包括漢字在內):複製代碼 代碼如下:[^\x00-\xff]應用:計算字串的長度(一個雙位元組字元長度計2,ASCII字元計1)複製代碼 代碼如下:String.prototype.len=function(){ return this.replace([^\x00-\xff]/g,"aa").length; }匹配空行的Regex:複製代碼 代碼如下:\n[\s|]*\r匹配HTML標記的Regex: