天天看點

javascript 表達式、括号、常用函數和jquery庫怎麼樣實作的分析

(一)javascript表達式

表達式是什麼?表達式是對變更進行指派、更改或計算等操作的語句。它是變量、常量、操作符的綜合。根據操作符的不類型,可以分為字元操作表達式、指派表達式、邏輯表達式、關系表達式、自增自減表達式、位表達式等。

例如:

x+y

5>0

A++

Z=1+1

另外還有一種逗号表達式:x+y,z++

(二)小括号

最常見的小括号的用法有好多種,并且常用。

(1)函數的輸入參數部分

例如:function fun1()

(2)語句的輔助

例如:while();if();for()

(3)類對象的構造方法

Var now=new Date()

(4)強制表達式運算

這個作用其實也在用,但沒有前邊3種用得明晰。

它意思就是指:把其中的内容作為表達式強制運算後得到結果。

function test()

{

    var x = 0;

    var y = 1;

    alert(++x, ++y);

    alert((++x, ++y));

}

(5)函數調用

一般情況下調用函數為函數名+參數,例如:doTest(1)

還有一種方式就是把函數名也用小括号包圍起來,例如:(doTest)(1)

這也是兩個小括号的意義。

(三)中括号

中括号主要用于數組

(1)可以聲明空數組或指派,例如:

var list1 = [];

var list2 = [1, 2, 3];

(2)通過下标訪數組元素

alert(list2[1]);

其次就是用于kv對的對象,例如:

對于customer對象,有name屬性,那麼取對象的name值為:

Customer[‘name’]

(四)大括号

常用的就是語句塊辨別符。例如函數體,循環體等。另一種就是定義js類。

例如:var customer = {};

可見:

http://www.cnblogs.com/jams742003/archive/2011/03/04/1970506.html

(五)Eval

它的作用就是把字元串做為表達式進行運算,并傳回值。

詳細可見:

http://www.cnblogs.com/jams742003/archive/2009/12/29/1634736.html

(六)Void

計算表達式,但不傳回值。

var x = 1;

void (x++);

alert(x);

alert(typeof (void (x++)));

 詳細請見:

http://www.cnblogs.com/jams742003/archive/2010/01/13/1646631.html

(七) Jquery庫定義的原理分析

(1)如何通過一個變量進行通路所有成員

所有的成員,例如函數,變量等通過一個固定的變量通路,可以通過靜态實作。那麼就要建立一個類,且,類中的成員要定義為靜态。是以,先試着建立一個jQuery類,它的成員為靜态。如下:

function doClick()

    jQuery.showMessage();

function jQuery()

{ }

jQuery.showMessage = function()

    alert('ok');

(2)jQuery類可以通過另一種方式實作

定義js類有好幾種方式,其中一種叫字面量的實作方式:

var jQuery = function() { };

jQuery.showMessage= function()

(3)包裝

為了避免命名沖突,現在把這個jQuery類包裝起來。可以考慮再放到一個類中或者通過匿名函數進行包裝(其實,本義是相同的)。在現在這種情況下,要通過後者方式進行,即以匿名函數進行包裝。如下:

function()

    var jQuery = function() { };

    jQuery.showMessage = function()

    {

        alert('ok');

    }

(4)設定全局通路并添加$

如下:

    var jQuery=window.jQuery=window.$= function() { };

       alert(1);

(5)讓匿名函數運作

調用函數的方法可以通過函數名和輸入參數。其中函數名也可以加小括号。那麼:

(

        function()

        {

            var jQuery = window.jQuery = window.$ = function() { };

            jQuery.showMessage = function()

            {

                alert(1);

            }

        }

)();

(6)完成并調用

    $.showMessage();

部落格園大道至簡

http://www.cnblogs.com/jams742003/

轉載請注明:部落格園

繼續閱讀