Time of Update: 2017-01-19
介紹本篇我們介紹的一些模式稱為初始化模式和效能模式,主要是用在初始化以及提高效能方面,一些模式之前已經提到過,這裡只是做一下總結。立即執行的函數在本系列第4篇的《立即調用的函數運算式》中,我們已經對類似的函數進行過詳細的描述,這裡我們只是再舉兩個簡單的例子做一下總結。複製代碼 代碼如下:// 聲明完函數以後,立即執行該函數(function () { console.log('watch out!');}
Time of Update: 2017-01-19
學一門程式設計語言,無非兩方面:一是文法,二是資料類型。類C語言的文法不外乎if、while、for、函數、算術運算等,物件導向的語言再加上object。文法只是語言設計者預先做的一套規則,不同語言文法不盡相同,但都有一些共通點,對於熟悉一兩門程式設計語言的人,學其他的程式設計語言時,文法往往不是問題(當然,如果你一直學的是類C語言,那麼首次接觸lisp時肯定也要花些時間),學習的重點往往是資料類型及其相關操作上,不是有句老話:“資料結構+演算法=程式”!其次,有些語言的文法本身就存在設計問題(
Time of Update: 2017-01-19
介紹本篇主要是介紹建立對象方面的模式的下篇,利用各種技巧可以極大地避免了錯誤或者可以編寫出非常精簡的代碼。模式6:函數文法糖函數文法糖是為一個對象快速添加方法(函數)的擴充,這個主要是利用prototype的特性,代碼比較簡單,我們先來看一下實現代碼:複製代碼 代碼如下:if (typeof Function.prototype.method !== "function") { Function.prototype.method = function
Time of Update: 2017-01-19
介紹本篇主要是介紹建立對象方面的模式,利用各種技巧可以極大地避免了錯誤或者可以編寫出非常精簡的代碼。模式1:命名空間(namespace)命名空間可以減少全域命名所需的數量,避免命名衝突或過度。一般我們在進行對象層級定義的時候,經常是這樣的:複製代碼 代碼如下:var app = app || {};app.moduleA = app.moduleA || {};app.moduleA.subModule = app.moduleA.subModule ||
Time of Update: 2017-01-19
介紹狀態模式(State)允許一個對象在其內部狀態改變的時候改變它的行為,對象看起來似乎修改了它的類。本文舉個例子,就比如我們平時在下載東西,通常就會有好幾個狀態,比如準備狀態(ReadyState)、下載狀態(DownloadingState)、暫停狀態(DownloadPausedState)、下載完畢狀態(DownloadedState)、失敗狀態(DownloadFailedState),也就是說在每個狀態都只可以做目前狀態才可以做的事情,而不能做其它狀態能做的事兒。由於State模式描
Time of Update: 2017-01-19
1.建立對象 複製代碼 代碼如下: var person = new Object(); person.name = "RuiLiang"; person.age = 30; person.job = "Teacher"; person.sayName = function () { alert(this.name); }; person.sayName(); 2.原廠模式 缺點:不能識別對象 複製代碼 代碼如下: function createPerson(name,age,job) {
Time of Update: 2017-01-19
介紹組合模式(Composite)將對象組合成樹形結構以表示“部分-整體”的階層,組合模式使得使用者對單個對象和組合對象的使用具有一致性。常見的情境有asp.net裡的控制項機制(即control裡可以包含子control,可以遞迴操作、添加、刪除子control),類似的還有DOM的機制,一個DOM節點可以包含子節點,不管是父節點還是子節點都有添加、刪除、遍曆子節點的通用功能。所以說組合模式的關鍵是要有一個抽象類別,它既可以表示子項目,又可以表示父元素。本文舉個例子,有家餐廳提供了各種各樣的菜
Time of Update: 2017-01-19
JavaScript資料類型1.Boolean(布爾)布爾:(實值型別)var b1=true;//布爾類型2.Number(數字)數值:(實值型別)var n1=3.1415926;//數實值型別n1.toFixed(3);//四捨五入保留3位小數。3.String(字串)複製代碼 代碼如下:var
Time of Update: 2017-01-19
僅在}之前、一個或多個換行之後和程式輸入的結尾被插入也就是說你只能在一行、一個代碼塊和一段程式結束的地方省略分號。也就是說你可以寫如下代碼複製代碼 代碼如下:function square(x) { var n = +x return n * n}但是卻不可以寫的像下面代碼一樣,這樣就報錯了哦複製代碼 代碼如下:function area(r) { r =
Time of Update: 2017-01-19
二叉樹的概念二叉樹(Binary Tree)是n(n>=0)個結點的有限集合,該集合或者為空白集(空二叉樹),或者由一個根結點和兩棵互不相交的、分別稱為根結點的左子樹和右子樹的二叉樹組成。二叉樹的特點每個結點最多有兩棵子樹,所以二叉樹中不存在度大於2的結點。二叉樹中每一個節點都是一個對象,每一個資料節點都有三個指標,分別是指向父母、左孩子和右孩子的指標。每一個節點都是通過指標相互串連的。相連指標的關係都是父子關係。二叉樹節點的定義二叉樹節點定義如下:複製代碼 代碼如下:struct
Time of Update: 2017-01-19
JavaScript 學習 - 提高篇一. JavaScript中的對象.JavaScript中的Object是一組資料的key-value的集合, 有點類似於Java中的HashMap, 所有這些資料都是Object裡的property. 通常情況下, JavaScript中建立一個對象用"new"加上constructor function來實現. 如new Date(), new Object()等.var book = new Object();book.name =
Time of Update: 2017-01-19
Form: http://www.webreference.com/programming/javascript/mk/ Author:Mark Kahn
Time of Update: 2017-01-19
他的屬性也很豐富,因為我很懶,我就直接複製手冊裡的東西了:
Time of Update: 2017-01-19
寫內容之前廢話一句:因為舊版有些瀏覽器不支援javascript指令碼,遇到script結點,當做普通內容輸出了,所以有時候為了讓版本相容,會在script結點裡的內容寫上注釋符號,這樣的話在舊版裡雖然程式會失效,但是不會出現我們的代碼,類似於這樣(請忽略括弧以及括弧裡的東西): 複製代碼 代碼如下: <script type="text/javascript"> <!-- (注意,這裡必須換行) xxxxxx; --> (這一行也不可以寫東西。)
Time of Update: 2017-01-19
所有現代瀏覽器都使用了JavaScript的內建支援。很多時候,你可能需要啟用或手動禁用此支援。本教程將讓您知道如何啟用和禁用JavaScript支援,在您的瀏覽器:IE瀏覽器,Firefox和Opera。JavaScript在Internet Explorer(IE)中:下面是簡單的步驟給開啟或關閉JavaScript在您的Internet Explorer: 按照從菜單"工具" - > "Internet選項"
Time of Update: 2017-01-19
javascript中window.document的屬性、方法和事件的總結,有需要的朋友可參考一下本文章。 屬性: Attributes 儲存節點的屬性列表(唯讀) childNodes 儲存節點的子節點列表(唯讀) dataType 返回此節點的資料類型 Definition 以DTD或XML模式給出的節點的定義(唯讀) Doctype 指定文件類型節點(唯讀) documentElement 返迴文檔的根項目(可讀寫) firstChild 返回當前節點的第一個子節點(唯讀)
Time of Update: 2017-01-19
ECMAScript變數包含兩種不同資料類型的值:基本類型值和參考型別值。基本類型值是簡單的資料區段,而參考型別值指那些可能由多個值構成的對象。在將一個值賦給變數時,解析器必須確定這個值是基本類型還是參考型別。基本類型包括如Undefined、Null、Boolean、Number和String,這5種基本類型資料類型是按值訪問的,因此可以操作儲存在變數中的實際的值;參考型別類型的值是儲存在記憶體中的對象。與其他語言不同,JavaScript不允許直接存取記憶體中的位置,也就是說不能直接操作對象
Time of Update: 2017-01-19
ECMAScript的數組與其他語言中的數組有著相當大的區別。雖然ECMAScript中的數組也是有序列表,但是它數組你的每一項可以儲存任何類型的資料。ECMAScript數組的大小是可以動態調整的。 建立數組的基本方式有兩種。第一種是使用Array建構函式,如下所示:複製代碼 代碼如下:var colors = new Array();
Time of Update: 2017-01-19
String 字串對象1. 介紹 String 對象,對字串進行操作,如:截取一段子串、尋找字串/字元、轉換大小寫等等。2. 定義方式2.1 new String(Value) 建構函式:返回一個內容為Value的String對象參數:①value {String} :字串傳回值:{String對象} 返回一個內容為Value的String對象樣本:複製代碼 代碼如下:var demoStr = new String('abc');console.log(typeof demoStr); //
Time of Update: 2017-01-19
本文執行個體講述了JavaScript基於自訂函數判斷變數類型的實現方法。分享給大家供大家參考,具體如下:通常用typeof來判斷js變數的類型,但很多時候僅僅typeof滿足不了要求的。我寫了一個自訂函數來做這個事,判斷的比較全面了。function varType(v){ if ( typeof v=== "object" ){ if (v=== null ) return 'null' ; if (v. constructor ) return (v. constructor