Time of Update: 2017-01-19
前言 庫是一個飽受爭議的熱門話題。一種觀點認為它是一種非常棒的工具,是任何開發人員都不可或缺的;另一種觀點則認為在不理解庫的內部工作原理的情況下對庫形成依賴,會助長懶惰的風氣從而導致開發人員素質下降。但是不管怎麼樣,好像每個人都贊同編寫自己的庫,況且把自己日常用到的東西合并到一起本身就是一件有意義的事情。 下面我們開始建立自己的JS庫,並編寫兩個自己的方法 複製代碼 代碼如下: //作者: //時間:2012-11-13 (function(){ window['LS']={};
Time of Update: 2017-01-19
Javascript 有兩種方法來判斷兩種值是否相等。相等符號相等符號由兩個等號組成: ==Javascript 是弱類型語言。這就意味著相等符號為了比較兩個值將會強制轉換類型。複製代碼 代碼如下:"" == "0" // false0
Time of Update: 2017-01-19
數組的建構函式由於數組的建構函式在處理參數時的不確定性,因此強烈建議使用 [] 符號來建立一個新數組。[1, 2, 3]; // Result: [1, 2, 3]new Array(1, 2, 3); // Result: [1, 2, 3][3]; // Result: [3]new Array(3); // Result: []new Array('3') // Result: ['3']當只有一個參數被傳遞到數組的建構函式中,並且這個參數還是一個數字時,建構函式將會返回一個元素值為
Time of Update: 2017-01-19
首先看我們的原始碼。複製代碼 代碼如下:<!DOCTYPE html> <html> <head> <meta charset="utf-8" />
Time of Update: 2017-01-19
以下為建構函式方法建立類:複製代碼 代碼如下:function className (prop_1, prop_2, prop_3) { this.prop1 = prop_1; this.prop2 = prop_2; this.prop3 = prop_3;}有了上面的類,我們就可以為類建立執行個體:複製代碼 代碼如下:var obj_1 = new className(v1, v2, v3)var obj_2 = new className(v1, v2
Time of Update: 2017-01-19
如果是從內部架構與理念劃分,目前JavaScript架構可以劃分為5類。第1種出現的是以命名空間為導向的類庫或架構,如建立一個數組用new Array(),產生一個對象用new
Time of Update: 2017-01-19
JavaScript bold 方法lastIndexOf 方法返回使用 HTML b 標籤定義的粗體字串。其文法如下:複製代碼 代碼如下:str_object.bold()提示:該方法不符合 ECMA 標準,不建議使用。bold 方法執行個體複製代碼 代碼如下:<script language="JavaScript">var str = "www.jb51.net";document.write(str.bold());</script>運行該例子,輸出:複製代碼
Time of Update: 2017-01-19
介紹 低層次的語言,如C,具有低層級的記憶體管理命令,如:malloc()和free(),需要開發人員手工釋放記憶體。然而像javascript這樣的進階語言情況則不同,對象(objects, strings 等)建立的時候分配記憶體,當他們不在使用的時候記憶體會被自動回收,這個自動回收的過程被稱為記憶體回收。因為記憶體回收的存在,讓javascript等進階語言開發人員產生了一個錯誤的認識,以為可以不用關心記憶體管理。 記憶體生命週期
Time of Update: 2017-01-19
JavaScript substring 方法substring 方法用於通過指定開始和結束位置來截取字串並返回截取部分字串。其文法如下:複製代碼 代碼如下:str_object.substring(start, end) 參數 說明 str_object 要操作的字串(對象) start 必需。開始截取的位置,非負整數 end
Time of Update: 2017-01-19
(1, 2, 3); // return 3; 很好奇,為什麼會返回3?這是什麼機制?圓括弧起到了什麼作用? (1, 2, 3, alert )("Amazing!"); // 這裡就更好玩了,居然可以直接調用alert ;經過測試,全域函數都可以通過這樣調用。 下面是關於 方括弧[] 的疑問: 在JS中,[]幾乎就和數組畫上了等號,但也有神奇的時候。 [1,2,3][1]; // return 2; 當然這種方法也經常使用,常用於數組的索引 和 調用的對象的響應屬性名稱存放在某個變數時。 [1
Time of Update: 2017-01-19
JavaScript substr 方法substr 方法用於根據開始位置和長度截取字串並返回截取部分字串。其文法如下:複製代碼 代碼如下:str_object.substr(start, length)參數說明: 參數 說明 str_object 要操作的字串(對象) start 必需。開始截取的位置,從 0 開始計算;如果為負數則從字串末尾開始計算(經測試,某些瀏覽器版本下無效)
Time of Update: 2017-01-19
JavaScript concat 方法concat 方法串連兩個或多個字串,其文法如下:複製代碼 代碼如下:str_object.concat(str1, str2, ...)str_object 是需要串連的第一個字串(對象),str1 是需要串連的第二個字串,str2 是需要串連的第三個字串,依次類推,至少需要一個str1。concat 執行個體複製代碼 代碼如下:<script language="JavaScript">var str = "www";var str1 =
Time of Update: 2017-01-19
函數是由事件驅動的或者當它被調用時執行的可重複使用的代碼塊。Jscript 支援兩種函數:一類是語言內部的函數(如eval() ),另一類是自己建立的。在 JavaScript 函數內部聲明的變數(使用 var)是局部變數,所以只能在函數內部訪問它。(該變數的範圍是局部的)。您可以在不同的函數中使用名稱相同的局部變數,因為只有聲明過該變數的函數才能識別出該變數。函數的調用方式1、普通調用:functionName(實際參數...)2、通過指向函數的變數去調用: var myVar
Time of Update: 2017-01-19
黃金規則第一條:js沒有塊級範圍(你可以自己閉包或其他方法實現),只有函數級範圍,函數外面的變數函數裡面可以找到,函數裡面的變數外面找不到。first try:這是為什麼呢??var a = 10;function aaa(){//step-4alert(a);//step-5->執行alert,此時只能找到外面的a=10故彈框10}function bbb(){//step-2var a =
Time of Update: 2017-01-19
前些日子面試的時候用到了this,面試官說我的理解有點偏差,回來看了下書和一些部落格,做了點測試,發現自己的理解的確有誤1.全域變數應該是最常用的吧,函數中調用一個this,這裡其實就是全域變數var value="0"; function mei(){ var value="1"; console.log(this.value); //0 console.log(value); //1 }
Time of Update: 2017-01-19
JavaScript的文法有多坑,算是眾人皆知了。先來上張圖代碼如下:複製代碼 代碼如下:{} + []; // 0[] + {}; // "[object Object]"{} + [] == [] + {}; // false({} + [] == [] + {}); // true這麼蛋疼的文法坑估計也只有 JavaScript
Time of Update: 2017-01-19
對於 JavaScript 類型,可以簡單地概括為:相對於強型別語言來說,它是弱(鬆散)類型的語言;有基本類型和參考型別,他們是區別是一個有固定空間存在於棧記憶體中,一個沒有固定空間儲存在堆記憶體中並且在棧記憶體中儲存了一個指向實現位置的指標。市面上很多書都有不小的篇幅在講。這篇文章會講幾個方面,這些方面可能會需要你對 JavaScript 已經有了一些簡單的瞭解,特別是 JavaScript 的類型。如果還不一解,可以隨手拿起一本關於 JavaScript
Time of Update: 2017-01-19
[1,2,3].length 可以得到 3, "123".length 也可以得到 3,這個略懂js的都知道。但是 eval.length,RegExp.length,"".toString.length,1..toString.length 會得到什麼呢?分別得到 1,2,0,1,這些數字代表什麼呢?這個是群裡很多新人朋友一直問的一個問題,其實函數的 length 得到的是形參個數。我們來簡單看個例子:複製代碼 代碼如下:function
Time of Update: 2017-01-19
Javascript 函數的四種調用模式1 函數模式 最普通的函數調用// 聲明式函數function fn1 () { console.log(this);}// 函數運算式函數var fn2 = function() { console.log(this);};// 調用 函數中this表示全域對象,在瀏覽器中就是指windowfn1(); //windowfn2(); //window 2
Time of Update: 2017-01-19
儘管物件導向JavaScript與其他語言相比之下存在差異,並由此引發了一些爭論,但毋庸置疑,JavaScript具有強大的物件導向編程能力本文先從介紹物件導向編程開始,然後回顧JavaScript物件模型,最後示範JavaScript中的物件導向編程概念。JavaScript回顧如果你對諸如變數(variables)、類型(types)、函數(functions)、以及範圍(scope)等JavaScript概念覺得心裡沒底,那麼你可以閱讀重新介紹JavaScript中的這些主題。你還可以查閱