一、Object類型用於建立自訂對象(執行個體),建立方法如下: 1. 用new操作符後面跟Object的建構函式 var cat= new Object();//推薦 // var o=new Object;//這種方法有效,但不推薦用。 cat.name="sunny"; cat.legs=4; 2. 對象字面量字面量標記法(推薦)var cat={ name:"sunny",
今天終於是把這本書看完了,每一章都有不小的收穫,之後有時間的話會陸續整理出每一章的筆記,^_^言歸正傳,這一章講到的是如何從資料訪問層面上提高JS 代碼的執行效率。總的來講有以下幾條原則:函數中讀寫局部變數總是最快的,而全域變數的讀取則是最慢的;儘可能地少用with 語句,因為它會增加with
今天博文關注的是javascript中的封裝,文章內容來自《pro javascript design patterns》(有興趣的朋友可以直接去下)和自己對這一問題的理解。 本文分上下兩部分,上部講基本模式(basic patterns):完全暴露法,底線標記法和使用閉包;下部講進階模式(Advanced
今天講解的內容是進階模式(Advanced Patterns),如何?靜態方法和屬性,常量還有其他一些知識點。 1.靜態方法和屬性 其實要實現這一功能還是要藉助於閉包。在上一講中的第三種實現方式也使用了閉包,但通過那種實現,內部屬性和方法是執行個體層級的。var book1=new Book('isbn1','title1','author1');var book2=new Book('isbn2','title2','author2');alert(book1.getTitle());
DataAnnotations.ValidationAttribute 提供以下幾種 StringLength, Required, RegularExpression, Range 和 DataType 當在 View 裡啟用 ClientValidation (Html.EnableClientValidation) 時,可以看見輸出的 js 裡只包含以上幾種 ValidationType ,自訂的 ValidateionAttribute
JavaScript 基本文法 1 JavaScript的一切變數,函數名木和操作符都區分大小寫 2 標識符的第一個字元必須是一個字母、底線或貨幣符號$,其他字元可以是字母、底線、貨幣符號或數字 3 按照慣例,ECMAscript標識符採取駝峰大小寫格式,第一個字母大寫,剩下的每個有意義的單字首大寫, Example: myCar4 //單行注釋 /* */多行注釋5 ECMAScript 5 引入strict 模式,在整個指令碼中啟用strict 模式,在頂部添加代碼:“use
ECMAScript有5種基礎資料型別 (Elementary Data Type)Undefined ,Null ,Boolean ,Number ,String 和一種複雜類型 Object1. Undefined Undefined類型只有一個值,即特殊的undefined2. Null Null類型只有一個值,即特殊的null 如果定義的變數準備用於儲存對象,那麼最好將該變數初始化為null,這樣就知道該變數儲存了一個對象的引用。 注意:null 和 undefined
JavaScript是網路指令碼語言,與Html語言混合使用,在學習JavaScript之前,要有一定的Html基礎。那麼如何把JavaScript放入Html頁面呢?JavaScript放人Html頁面有三種方式:1.放入head部分JavaScript放入head部分,只有指令碼被調用時,指令碼才會被執行,可以確保在調用JavaScript之前,JavaScript就已經被載入了。Example:<html><head> <script
向HTML頁面中插入JavaScript的主要方法就是使用<script>元素,只要不存在defer和async,包含在<script>元素內部的JavaScript代碼將被從上而下依次解析。 如果<script>放在<head>裡,則只有javascript被解析完畢和執行完成以後,頁面中的其餘內容才會被瀏覽器載入或顯示。
在JavaScript中,typeof是操作符,負責檢測給定變數的資料類型,用typeof檢測下面變數的資料類型。Example:var m;var m1="hi";var m2=2;var m3=true;var m4=function(){};var m5=new Object();var m6=null;alert("typeof m 的類型:" + typeof m + "\n\r" + "typeof m1 的類型:" + typeof m1 + "\n\r" +
度過了一個長長的假期,剛回到公司有些不適應了,之前的學習計劃和工作計劃都被打斷了,回來都不知道要幹什麼啦。於是就跑去看同事的blog,又回來看之前自己記的筆記,接下來繼續學習JavaScript吧。 有效URI(統一資源標示符)是不能包含某些字元的,如空格,所以需要進行編碼,編碼方法有:encodeURI()和encodeURIComponent(), 對編的碼進行解碼方法有:decodeURI()和decodeURIComponent()。 encodeURI()
JavaScript語言有以下特點:1.JavaScript程式用Unicode字元集編寫,與7位的ASCII編碼不同,16位的Unicode編碼可以表示地球上通用的每一種書面語言2.JavaScript區分大小寫,HTML不區分大小寫3.JavaScript忽略程式中記號間的空格、定位字元和分行符號4.分號(;)是可以忽略的,但是好的編程習慣是需要添加分號的,防止出現誤解 例如:return true; 會被編譯器理解為return ;
javascript 學習筆記特殊資料類型是: * Undefinedvar a;//聲明一個變數,但沒有對其賦值 alert(a);//但它仍然有值的,它的值為undefined alert(b);//但注意,輸出一個未定義的變數將出現錯誤,而不是輸出undefinedNaN是一個特殊的值,含義是"Not A Number"-不是一個數字,當將其它值轉換成數字失敗時會得到這個值var str ="some string here!";var num =
最近在看javascript設計模式的書籍《pro javascript design pattrens》,覺得很不錯,可以提高自己對js oo的理解,也可能協助自己更好的理解別人寫的js library,提高自己js的水平。 這本書中第一個重要的內容就是介面。
本章的主題是繼承,分為上下兩部分來介紹,上主要來介紹call和apply方法,下用來介紹繼承的幾種實現方式。 在介紹繼承的時候,call和apply是一個繞不過去的話題,也是大家需要深入瞭解的知識。下面我們來看看call的定義(apply和call基本是一樣的,只是參數不同,這裡不做介紹了):call 方法請參閱應用於:Function 對象要求版本 5.5調用一個對象的一個方法,以另一個對象替換當前對象。call([thisObj[,arg1[, arg2[, [,.argN]]]]
文章目錄 單元測試的好處 單元測試面臨的困難 從今天開始,我將以讀書筆記的方式向大家介紹《Test-Driven JavaScript Development》相關內容。我不太清楚這本書是否已經有了中文的譯本,有興趣的朋友可以去搜尋下,或者直接讀英文原版。因為是讀書筆記,算是供大家參考學習的資料,所以文章中很多知識或者概念的定義或者講解可能不會那麼精確。只要大家能明白我表達的內容即可,沒必要太較真。 之前我寫了《QUnit系列》
本章的主題是繼承,在javascript中要實現繼承比其他面相對象語言要複雜的多,他主要使用原型實現繼承。下面就介紹幾種常用的實現繼承的方式。 1.經典繼承(Classical Inheritance) 我們首先建立一個Person類。/* Class Person. */function Person(name) { this.name = name;}Person.prototype.getName = function() { return
文章目錄 測試驅動開發的目標和目的 促進測試驅動開發 測試驅動開發的好處
文章目錄 步驟1:編寫測試 步驟2:觀察失敗的測試 步驟3:確保測試通過 步驟4:移除重複的重構 步驟5:重複工作
文章目錄 1.基準和相對效能 2.分析和定位瓶頸