javascript筆記

1.JavaScript是一種腳本語言(動態語言),它嵌入在網頁中由瀏覽器解析運行,它是一種基於對象,事件驅動型語言。
2.面向對象具有繼承封裝多態,而基於對象不具有,只對對象(將數據和處理數據的過程捆綁爲一個整體)操作。
3.javascript以字符串形式解析的,字符串越多,解析越慢。
4.js標識符:1.變量區分大小寫的。
           2.變量是弱類型,var代表所有的數據類型,沒有其他的類型。
           3.每一行後面的分號必須要有(實際上是可有可無的)。
           4.註釋和Java是一樣的。
           5.變量命名開頭必須以字符和美元符,下劃線。
           6.駱駝命名首字母要小寫,pas命名首字母要大寫,匈牙利命名方式是_類型(int只寫i)__再加大寫字母。e.g:iMySql
           7.關鍵字
       8.保留字
5.數據類型:1.基本類型(原始類型):存儲在棧中間的簡單數據,變量的值直接存放在變量的訪問位置(地址處)。         
           2.引用類型:存儲在堆中的對象(複雜數據),存儲在變量處的值是一個指針,直接指向對象的內存處。
6.js的5種原始類型:Undefined(變量默認值爲這個,方法沒有返回值的時候也是默認爲這個)。
                  Null(只有一個值null從Undefined繼承過來的)。
              Boolean(true,false  js中所有的undefined,null,'',"",0都爲false)
                  Number(32位的,分爲整數和浮點數)。
              String(是一個可變長度的字符串,定義的時候用''或者"").
7.強制類型轉換:1.轉換爲布爾 var b=Boolean(字符串);
               2.轉換爲數字 var b=Number(字符串);
               3.轉換爲字符串 var b=String(字符串);
               注:轉換失敗後會提示NSN
8.Number,String,Boolean都是僞對象(既屬於原始類型又屬於對象類型,可以new對象)。
9.引用類型(所有的對象都是從Object那裏繼承過來的):有2個很重要很重要很重要很重要的屬性prototype(對象原型引用),constructor(對象構造器引用)。
10.delete是用來刪除的,是刪除運算符。void是一個空運算符,void(變量)在這括號裏的東西不管是什麼都返回undefined。
*11.函數:是一個特殊的引用類型,函數名是用來指向這個函數的指針。
function A()  A=function()  function() var A=new Function();
12.js中沒有方法重載,只要函數名相同,後面的函數會覆蓋前面的方法,只要函數名相同就會覆蓋,參數不同也覆蓋。
13.閉包:函數定義調用函數外的變量。
e.g:var a=123;
    function a(){
        alert(a);
    }

1.對象:是屬性和方法的無序集合。
2.javascript的面向對象:繼承,封裝,多態,聚集(一個對象擁有另一個對象的能力)。
3.對象由屬性(可以是原始值和引用值)和方法構成的。
4.創建object實例的方法:var o=new Object()這個括號可有可無;簡單方法是var o={};該對象沒有引用時這個對像就被銷燬了。
5.對象分類:1.本地對象:獨立於宿主環境,由js實現提供的對象(object,Funcion,String,Array,Number,boolean,Date,RegExp).
Array:是一個棧結構,是先進後出。var a=new Array(3);但是這裏面可以裝多的東西,數組的效率在js是最高的,最多放40億項。var0=[];數組縮寫形式。
Date:是用來操作和訪問當前日期的。
           2.內置對象:獨立於宿主環境的對象,在javascript解析執行之前已經實例化好了,有2個屬性:Globle Math它實際也屬於本地對象。
           3.宿主對象:所有非本地對象都是宿主對象。所有的BOM(Brower object model),DOM都是宿主對象。
6.關鍵字this永遠指向調用該方法的那個對象。
7.類就是對象,對象就是函數,函數就是構造器,構造器就是類。
8.早綁定:在實例化對象之前定義對象的屬性和方法。
9.晚綁定:在實例化對象之後定義對象的屬性和方法。
10.

1.BOM(瀏覽器對象模型):它提供了獨立於內容與瀏覽器進行交互的對象。
2.window:
     document:
         ancluvs
         frames
         images
         links
         location
         frames
         history
         location
         screen
         navigator
1.DOM(document object model)是文檔對象模型。DOM對象是BOM對象的一部分,同時也是HTML DOM的HTML(Hypertext Markup Language) document的一種表現形式。
2.HTML每一個標誌都對應着一個dom對象。
3.dom解析器提供了一種html和xml的編程接口。
4.HTML是一份特殊的xml文檔,HTML是一個樹狀結構,它提供了一種結構化的表示方法,它可以改變文檔的內容和表現形式。
5.DOM
     document
6.獲得對象:
    1.document.getElementById()
    2.document.getElementsByName()// option時可直接傳id號獲得對象

1.組件:text,password,radio
2.所有表單的值都是表單的子元素。
3.可以這樣訪問元素form["name"]

1.typeof 判斷變量的數據類型。
2.instanceof 引用數據類型。
3.arguments  參數列表,不管什麼情況下參數都放在這裏面。

1.事件:JavaScript和hmtl之間交互,是通過用戶和瀏覽器頁面引發的事件來處理的。
2.事件監聽函數:用於響應某個事件而調用的函數。
3.事件類型:鼠標事件:是鼠標操作時觸發的事件。
           鍵盤事件:在鍵盤上敲擊觸發的事件(鍵盤按下事件onkeydown,onkeypress,onkeyup)。
           html事件:bom和dom改變觸發的事件(網頁頁面加載)
           突變事件:底層dom發生改變時觸發的事件。
4.處理事件分配方式:HTML中
           JavaScript中
5.事件也是DOM的一部分。
6.onload網頁加載時觸發的事件,onunload寫在網頁時觸發的事件。
7.事件信息是封裝事件對象裏面的,事件是交給瀏覽器來處理的

1.正則表達式:用來判斷字符串是不是屬於那種匹配模式。
2.javaScript中對正則表達式的支持是通過RegExp這個類來實現的。
3.創建正則表達式的實例new一個,有2個參數,第一個參數是正則表達式的匹配模式,第二個是正則表達式命令。
4.i命令是忽略大小寫,g命令代表全局匹配。gi忽略大小寫且全局匹配。

5.exec方法只返回了一個元素的數組。
  test() 條件成立時返回true;
6.簡單模式:就是由指定的字符,元字符,字符類,量詞等組成的正則表達式匹配模式。
7.元字符:就是在正則表達式中被正則表達式所佔用的字符,要使用元字符必須進行轉義。
8.元字符(關鍵字):(),[],{},\,^,$,|,?,*,+,.
9.預定義字符:\t製表。\r換行。\n回車。\f換頁。\b回退。\0空字符。
10.字符類:是用於測試字符類組合,它是放在中括號中,代表一個字符,測試出現在括號裏面的數字。
11.字符類負向類:是用於測試字符類組合,它是放在中括號中,測試不能出現在括號裏面的數字。
12.範圍類:在中括號中。[a-z]
13.負向範圍類:[^a-z].
14.組合類:多個範圍類。
15.預定義類:(.除換行回車以外的字符)。
             \d[0-9]
          \D[^0-9]
             \w指A-Z,a-z,0-9.[A-Z,a-z,0-9,_].
             \W[^A-Z,a-z,0-9,_].
             \s匹配所有的空白字符
             \S匹配所有的非空白字符
16.量詞:硬性量詞:指定出現次數。
    軟性量詞:指定出現範圍。
?代表0或者1次。
+代表1次或者多次。
*代表0次或者多次。
{1}必須出現一次。
{1,}代表出現一次或多次。
{n,}代表出現n次或多次,包括n在內。
{n,m}代表出現n到m次。
*17.空正則表達式匹配字符永遠返回空。
18.量詞分類:
        貪婪量詞:首先看整個字符串是否匹配,如果匹配則不進行下一次匹配,如果不匹配讀第一個字符進行匹配,如果數量不夠繼續往下,直到數量足夠,如果數量足夠還是不匹配就刪除最前一個字符,從第二個字符進行匹配,如果數量不夠繼續往下,直到數量足夠,如果數量足夠還是不匹配就刪除第二個字符。
如果有匹配就把匹配的截取刪掉,直到找到匹配的爲止,到現在爲止我們學的量詞都是貪婪的。
        惰性量詞:先看字符串中的第一個字符是否匹配,如果單獨這個字符還不夠,再讀取下一個字符組成2個字符進行匹配,以此類推,如果找到匹配的就刪除。只以最少次數匹配。惰性量詞只要在貪婪量詞後面加個?。
19.複雜模式由分組,反向引用,前瞻,候選和其他一些方法組成的正則表達式匹配模式。
20.分組:/(dog){3}/相當於dogdogdog。
21.候選:(dog|cat).
22.邊界:^(邊界的頭) $(邊界的尾)。

1.繼承的第一種方法:1.對象冒充:構造函數使用this關鍵字給所有的屬性和方法賦值(即採用類聲明的構造函數方式,因爲構造函數只是一個函數,所以可使A構造函數成爲B類的方法,然後調用B類的方法,B類就會收到A構造函數中的方法和屬性)。
2.call:調用一個對象的一個方法,以另一個對象替換當前對象
A.call(thisobj,參數);

3.apply:應用某一對象的一個方法,用另一個對象替換當前對象
A.apply(this,參數是個數組);
4.原型方式:原型只是一個對象的模板,要實例化的對象都以這個原型模板爲基礎,總而言之原型對象的任何屬性和方法都傳遞給那個類的所有實例。

1.xml Http對象:Http是一種瀏覽器對象可以用於模擬Http發送get post請求,它無需刷新頁面可以向服務器發送請求或者響應請求,它是一套可以嵌套在JavaScript,vbscript,JScript。
2.事件監聽句柄就是事件監聽函數。
3.同步:要排隊,效率低,適合小量數據,且是要等待服務器響應
4.異步:不要排隊,適合大量數據,且不要等待服務器響應。
5.selectSingleNode()訪問xml文檔中的節點。

1.ext它提供了一套非常絢麗的UI,與後臺無關的框架。
2.ext是一套開源的框架。
3.容器組件用來裝組件的。
4.ext.form.FormPanel用來裝表單組件的。
5.容器是用來裝東西的(記好了)。
6.所有的表單組件都繼承field組件。
7.組件(都是BoxComponent下面的組件):基本組件,工具欄組件(tbar下面的組件),表單組件(表單下面的組件)。
8.所有的組件銷燬都是引用BoxComponent來的。
9.ext中一個組件代表一個類,要用組件直接new一個就可以,默認的情況下所有的組件都初始化了。
10.當對象指向rendering以後,每一個對象都對應一個DOM。

1.Ext的核心組件(component):自動支持了標準的隱藏,顯示,啓用,禁用等,Ext中每一個組件都對應着一個xtype屬性,在Ext中xytpe直接可以創建組件,所有的組件都可以通過renderTo來進行渲染html頁面。
2.組件的生命週期是:創建,初始化,銷燬。
3.Ext.container有兩個重要的屬性:1.layout2.items。
4.頁面佈局都交給Viewport來管理。
5.Ext實用工具:1.onReady()
6.js中沒有靜態的,靜態的就是一個函數。
7.get方法是獲取HTML元素或者ext元素的一個函數,返回來的數據類型是Ext.element,必須通過id或者dom對象。
8.getCmp用來獲得一個Ext組件。
9.getBody返回當前body的element。
10.borderLayout佈局:把界面分成了5部分,東南西北中,中是一定要的(如果沒有中,就報佈局出錯)。

1.表單標記必須放在form佈局下面才能顯示錶單標籤。

2.表格控件:Ext.grid.GridPanel,必須包含表頭(列定義)columns對應的列表信息是一個數組,數據存儲器(Ext.data.store)。
3.data:本地初始化數據,這個也要解析器。
4.proxy:對象{},提供了數據訪問。
5.reader:對象{},解析器。
6.URL:如果被傳遞了,就會自動創建一個HTTP代理,record指數據項,只認識這個。
7.header:代表表頭要顯示的表頭名字。
8.dataIndex:代表表頭要隱藏的表頭名字。

1.Tree:ext中的樹結構是由treePanel,有兩個很重要的屬性loader(加載數據),root()


1.事件:Ext.lib.Event它封裝了不同瀏覽器之間的處理函數,它爲組件提供了統一的接口。
2.Ext.util.abservable:爲事件提供了最基本的功能。
3.Ext.Event.Manager:事件管理器,它提供了一系列最常用的事件處理函數。
4.EventObject:對事件進行了封裝。
5.EventManager:對事件進行管理。



發佈了31 篇原創文章 · 獲贊 1 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章