天天看點

【JavaScript】JavaScript基礎-函數

1,函數的作用與定義:

Javascript也是基于對象(Object-based)的程式設計語言,而不是面向對象的語言。

----主程式-----|

                        |

    函數1          |

    .....               |

    函數2          |

    函數3          |

----------------

函數的定義與調用:

東一一個函數的格式入下:

function 函數名(參數清單)

{

    程式代碼

    return 表達式;

}

對函數進行調用的幾種方式:

(1)函數名(參數1,參數2,...)

(2)變量=函數名(參數1,參數2,...)

(3)對于有傳回值的函數調用,也可以在程式中直接使用傳回的結果

例如:alert("sum="+square(2,3));

注意:

<script language="javascript">

    var msg="全局變量"

    function show()

    {

        msg="局部變量";

    }

    show();

    alert(msg);//此處的mag值為"局部變量"(全局變量被更改)

</script>

        var msg;

    alert(msg);//此處的mag值為"全局變量"(局部變量改的是自己的值,是以全局變量沒有被改變)

2.參數個數可變的函數:

    function testparams()

        var params="";

        for(var i=0;i<arguments.length;i++)

        {

            params+=arguments[i]+"";

        }

alert(params);

    testparams("abc",123);

    testparams(123,456,"abc");

其中,arguments對象來通路調用程式傳遞的所有參數。

3.建立動态函數

類似c語言指針指向函數的指向方式。被稱為“建立動态函數”。

建立動态函數的基本文法格式:

var varName=new Function(argument1,...,lastArgument);

說明:所有的參數都必須是字元串類型的,最後的參數必須是這個動态函數的功能程式代碼。

例子:

    var square=new Function("x","y","var sum;sum=x*x+y*y;return sum;");

    alert(square(3,2));

動态函數有什麼作用?我們在什麼情況下用動态函數?

答:在普通的函數當中,裡面定義的所有的程式代碼都是必須事先明确固定的,不可能随程式運作的情況的改變而變動。使用動态建立函數的方式,一個函數的功能執行代碼是用一個字元串而組成的。而這個字元串我們可以通過若幹個變量進行相連而産生。這些變量進行相連,我們隻要改變這些變量的取值,最終生成的字元串的内容也會随之改變,那麼這個動态建立的函數的功能代碼也就改變了。

4.JavaScript中的系統函數

(1)encodeURI方法:傳回對一個URI字元串編碼後的結果

<script>

    var urlStr=encodeURI("http://www.it315.org/index/html?country=中國&name=z x");

    alert(urlStr);

結果http://www.it315.org/index/html?country=%E4%B8%AD%E5%898%BD&name=z%20x

(2)decodeURI方法:将一個已編碼的URI字元串解碼成最初始的字元串并傳回。

    var urlStr=decodeURI("http://www.it315.org/index/html?country=%E4%B8%AD%E5%898%BD&name=z%20x");

結果:http://www.it315.org/index/html?country=中國&name=z x

(3)parseInt方法

将一個字元串按指定的進制轉換成一個整數,文法格式為:parseInt(numString,[radix])。如果沒有指定第二個參數,則字首為'0x'的字元串被視為十六進制,字首為‘0’的字元串被視為八進制,所有其他字元串都被視為是十進制。

alert(parseInt("123abc",10));

測試結果:123(說明不能轉為整數的會被忽略掉)

(4)parseFloat方法

将一個字元串轉換成為對應的小數

(5)用于檢測parseInt與parseFloat方法的傳回值是否為NaN。

(6)escape方法

傳回對一個字元串進行編碼後的結果字元串。所有空格、标點、重音符号以及任何其它非ASCII字元都用%xx替換,其中xx等于表示該字元的Unicode編碼的十六進制數,字元值大于255的字元以%uxxxx格式存儲。

escape方法可以用于對文本的簡單加密。

對于RUL的編碼不要用escape方法,一定要encodeURI方法。

(6)unescape方法

将一個用escape方法編碼的結果字元串解碼成原始字元串并傳回。

(7)eval方法

将其中的參數字元串作為一個JavaScript表達式執行。

當然方法還有很多,需要查詢的時候,請查閱Visual Studio.NET20XX

繼續閱讀