Time of Update: 2017-01-19
這個系列的第一部分介紹了Javascript模組的基本寫法,今天介紹如何規範地使用模組。 (接上文) 七、模組的規範 先想一想,為什麼模組很重要? 因為有了模組,我們就可以更方便地使用別人的代碼,想要什麼功能,就載入什麼模組。
Time of Update: 2017-01-19
隨著網站逐漸層成"互連網應用程式",嵌入網頁的Javascript代碼越來越龐大,越來越複雜。 網頁越來越像傳統型程式,需要一個團隊分工協作、進度管理、單元測試等等......開發人員不得不使用軟體工程的方法,管理網頁的商務邏輯。 Javascript模組化編程,已經成為一個迫切的需求。理想情況下,開發人員只需要實現核心的商務邏輯,其他都可以載入別人已經寫好的模組。 但是,Javascript不是一種模組化程式設計語言,它不支援"類"(class),更遑論"模組"(module)了。
Time of Update: 2017-01-19
堆排序分為兩個過程:1.建堆。堆實質上是完全二叉樹,必須滿足:樹中任一非葉子結點的關鍵字均不大於(或不小於)其左右孩子(若存在)結點的關鍵字。堆分為:大根堆和小根堆,升序排序採用大根堆,降序排序採用小根堆。如果是大根堆,則通過調整函數將值最大的節點調整至堆根。2.將堆根儲存於尾部,並對剩餘序列調用調整函數,調整完成後,再將最大跟儲存於尾部-1(-1,-2,...,-i),再對剩餘序列進行調整,反覆進行該過程,直至排序完成。複製代碼 代碼如下://調整函數function
Time of Update: 2017-01-19
JavaScript簡介一、定義:JavaScript是指令碼語言,需要宿主檔案,它的宿主檔案是html檔案。JavaScript 是一種輕量級的程式設計語言。JavaScript 是可插入 HTML 頁面的編程代碼。JavaScript 插入 HTML 頁面後,可由所有的現代瀏覽器執行。二、用法:在html中的位置有三塊:1)head裡面;2)body裡面;3)</html>之後,為了保險起見一般寫在</html>之後。<script
Time of Update: 2017-01-19
模組化編程是一種非常常見Javascript編程模式。它一般來說可以使得代碼更易於理解,但是有許多優秀的實踐還沒有廣為人知。基礎我們首先簡單地概述一下,自從三年前Eric
Time of Update: 2017-01-19
一、array的方法總結會更改原來的的數組push、unshift方法,返回length。增加值得就返回length,其他返回該元素pop,shift返回該元素reverse返回該元素splice(start,deleteCount,addItem...),從原數組中刪除和增加,返回刪除的數組不會改變原來的數組,返回新的數組concat,join,slice(start,end)記住這3個是返回新數組,其他的會改變原來的數組二、Sting的方法總結不對原始值做改變,都是返回一個新的String或
Time of Update: 2017-01-19
1.清空input標籤值得時候,不能用html("")清空,要用val("")清空2.事件如果綁定多次,觸發事件後,回呼函數也會執行多次,所有最好把綁定事件的函數單獨寫,或者必須重複綁定的時候,每次都解除綁定3.jquery選取器如果返回的是一個jquery的對象數組,要用each做操作,不然如果直接在數組上操作的話,可能只對數組第一個對象操作,不會發生遍曆4.大小寫敏感,比如if 寫成了If。toString()寫成了tostring(),toUpperCase寫成了toUppercase5.
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
在之前的介紹中,我們已經知道 Javascript 沒有塊級作用,只有函數級範圍。複製代碼 代碼如下:function test() { // a scope for(var i = 0; i < 10; i++) { // not a scope // count } console.log(i);
Time of Update: 2017-01-19
Javascript 中的建構函式與其他語言相比也是不同的。任何通過關鍵字 new 調用的函數都可以當做建構函式。在建構函式體內,this 指向新建立的對象。如果建構函式體內沒有顯示的 return 運算式,那麼我們就預設返回 this,也就是建立的對象。複製代碼 代碼如下:function Foo() { this.bla = 1;}Foo.prototype.test = function() {
Time of Update: 2017-01-19
每一個 Javascript 函數都能在自己範圍內訪問一個特殊的變數 - arguments。這個變數含有一個傳遞給函數的所有參數的列表。arguments 對象不是一個數組。儘管在文法上它跟數組有相同的地方,例如它擁有 length 屬性。但它並不是從 Array.prototype 繼承而來,實際上,它就是一個對象。因此,我們不能直接對 arguments 使用一些數組的方法,例如 push, pop 或 slice 等。
Time of Update: 2017-01-19
Javascript 中一個最重要的特性就是閉包的使用。因為閉包的使用,當前範圍總可以訪問外部的範圍。因為 Javascript 沒有塊級範圍,只有函數範圍,所以閉包的使用與函數是緊密相關的。類比私人變數複製代碼 代碼如下:function Counter(start) { var count = start; return {
Time of Update: 2017-01-19
相對於C/C++來說,ECMAScript裡的for迴圈並不能建立一個局部的上下文。複製代碼 代碼如下:for (var k in {a: 1, b: 2}) { alert(k);} alert(k); // 儘管迴圈已經結束但變數k依然在當前範圍 任何時候,變數只能通過使用var關鍵字才能聲明。 上面的指派陳述式: a = 10;
Time of Update: 2017-01-19
經常使用window.location,它的結構總是記不住,簡單梳理下,方便以後查詢。樣本URL:http://b.a.com:88/index.php?name=kang&when=2011 屬性 含義 值 protocol: 協議 "http:" hostname: 伺服器的名字 "b.a.com" port:
Time of Update: 2017-01-19
高亮功能主要是指對頁面中指定地區的指定文字進行高亮顯示,也就是背景著色。一般在搜尋結果頁面會經常用到這個功能。下面就為大家提供一種解決方案,用javascript實現。首先在<head>中引入下面javascript方法:複製代碼 代碼如下:<script type="text/javascript">//<![CDATA[ //--------begin function fHl(o, flag, rndColor, url)
Time of Update: 2017-01-19
實現JavaScript繼承的最簡單的方式是call方法(或者apply方法)及原型鏈方法,但這兩種方法都有缺陷,而其混合體就是很好的繼承實現方式。下面舉例說明:複製代碼 代碼如下:function Animal(age){ this.age = age;}Animal.prototype.sayAge = function(){ window.alert("My age is
Time of Update: 2017-01-19
前言良好的JavaScript書寫習慣的優點不言而喻,今天彬Go向大家推薦Dojo Javascript 編程規範,相當不錯的 Javascript 編程風格規範,建議大家可以借鑒一下此規範編寫 Javascript。感謝i.feelinglucky的翻譯。序Any violation to this guide is allowed if it enhances readability.所有的代碼都要變成可供他人容易閱讀的。快讀參考核心 API 請使用下面的風格: 結構
Time of Update: 2017-01-19
在我們日常開發中,操作和轉換數組是一件很常見的操作,下面我們來看一個執行個體:複製代碼 代碼如下:var desColors = [], srcColors = [ {r: 255, g: 255, b: 255 }, // White {r: 128, g: 128, b: 128 }, //
Time of Update: 2017-01-19
JavaScript中的運算子優先順序是一套規則。該規則在計算運算式時控制運算子執行的順序。具有較高優先順序的運算子先於較低優先順序的運算子執行。例如,乘法的執行先於加法。下表按從最高到最低的優先順序列出JavaScript運算子。具有相同優先順序的運算子按從左至右的順序求值。運算子描述. [] ()欄位訪問、數組下標、函數調用以及運算式分組++ -- - ~ ! delete new typeof void一元運算子、返回資料類型、對象建立、未定義值* / %乘法、除法、模數+ -
Time of Update: 2017-01-19
Throttle 無視一定時間內所有的調用,適合在發生頻度比較高的,處理比較重的時候使用。 複製代碼 代碼如下: var throttle = function (func, threshold, alt) { var last = Date.now(); threshold = threshold || 100; return function () { var now = Date.now(); if (now - last < threshold) { if (alt) { alt.