摘要:函數函數的基本語法是下面是個示例另外,任何函數在任何時候都可以通過語句后跟要返回的值來實現返回值。如另外,可以與命名參數一起使用。如不會執行第一個函數兩個參數相加,只執行最后一個同名的函數第一個參數加上
函數
函數的基本語法是:
function functionName(arg0,arg1,...,argN) { statements }
下面是個示例:
function str(name,age){ document.write("hello my name is " + name + ". and i am " + age + " years old."); } str(" oliver",23); //hello my name is oliver. and i am 23 years old.
另外,任何函數在任何時候都可以通過return 語句后跟要返回的值來實現返回值。如:
function sum(num1,num2){ return num1 + num2; alert("hello"); //返回return 之后不會繼續執行alert } var result = sum(321,32); document.write(result); //353
因為執行完return 語句之后停止并立即退出,所以位于return 語句之后的任何代碼都不會執行。
當然,一個函數可以包含多個return 語句。如:
function conp(a,b){ if (a > b){ return a; }else if (a == b){ return "equal"; }else{ return b; } } var result = conp(4,4); document.write(result); //equal var result = conp(321,4); document.write(result); //321
另外,return 語句也可以不帶有任何返回值。這樣,就可以立即停止函數執行并且返回undefined。如:
function conp(a,b){ if (a > b){ return; document.write("bad"); }else{ document.write(b); } } var a = conp(33,3); document.write(a); //返回undefined 且不會出現"bad"函數的參數
ECMAScript 函數的參數可以是任意多個,也可以是任何數據類型。它在函數體內可以通過arguments 對象來訪問,如第一個參數是arguments[0]、第二個是arguments[1]等等。命名的參數只是提供了便利,但不是必須的。如:
function greeting(){ document.write("hello " + arguments[0] + ". you look " + arguments[1] + "."); } greeting("oliver","good"); //hello oliver. you look good.
另外,可以通過訪問arguments 對象的length 屬性,獲得有多少參數傳遞給了函數。如:
function countArguments(){ document.write("there are " + arguments.length + " arguments here."); } countArguments(321,321,32,32); //there are 4 arguments here.
可以利用這一點與if 語句結合做判斷。如:
function count(){ if (arguments.length == 1){ document.write("you just have 1 arguments."); }else{ document.write("you have many arguments."); } } count(321,321,321) //you have many arguments.
另外,arguments[] 可以與命名參數一起使用。
函數的重載(沒有重載)如果定義了兩個名字相同的參數,則改名字只屬于后定義的函數。如:
function add(){ document.write(arguments[0] + arguments[1]); } function add(){ document.write(arguments[0] + 100); } add(321,2); //421 不會執行第一個函數(兩個參數相加),只執行最后一個同名的函數(第一個參數加上100)
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/86148.html
摘要:為了規避這個問題,可以使用定時器對事件處理程序進行節流。當第二次調用該函數時,它會清除前一次的定時器,并設置另一個。如果前一個定時器已經執行過了,這個操作就沒有任何意義。然而如果前一個定時器尚未執行,其實就是將其替換為一個新的定時器。 高級定時器 為了解決setInterval的一些執行問題, 下面是采用鏈式setTimeout的方式來規避: setTimeout(function()...
摘要:如很明顯可以看到,實際上是函數的局部變量。簡單的說就是,復制給參數,在函數內部是局部變量,無論怎么變化,都不影響的變化。 ECMAScript 變量可能包含兩種不同數據類型的值:基本類型值和引用類型值。 基本類型和引用類型的值 基本類型值(String,Number,Boolean,Null,Undefined)指的是簡單的數據段;引用類型值(保存在內存中的對象)指的是那些可能由多個值...
摘要:模仿塊級作用域在塊級語句中定義的變量,實際上是包含函數中而非語句中創建的。避免對全局作用域產生不良影響這種方式可以通過創建私有作用域,避免對全局作用域產生不良影響。一般包括函數的參數局部變量和內部定義的其他函數。 模仿塊級作用域 在塊級語句中定義的變量,實際上是包含函數中而非語句中創建的。如: function outputNumbers(x){ for (var i = 0;...
摘要:如類型除了可以以十進制表示之外,整數還可以通過八進制或者十六進制的字面值來表示,其中八進制字面值的第一位必須是,然后是八進制數字序列。 Javascript 數據類型 ECMAscript 中有5種簡單的數據類型,也被稱為基本數據類型:Undefined、Null、Boolean、Number和String。還有一種復雜的數據類型——Object。 Undefined 類型 在使用va...
摘要:語法如下注意這里使用的并不是的,是內部函數的。函數柯里化的基本方法是使用一個閉包返回一個函數。當函數被調用時,返回的函數還需要設置一些傳入的參數。 安全的類型檢測 typeof操作符 檢測數據類型的結果可能會不正確; instanceof操作符 操作符在多個全局作用域下存在問題: var value = []; var isArray = value instanceof Array;...
閱讀 2335·2023-04-25 14:29
閱讀 1457·2021-11-22 09:34
閱讀 2702·2021-11-22 09:34
閱讀 3392·2021-11-11 10:59
閱讀 1851·2021-09-26 09:46
閱讀 2223·2021-09-22 16:03
閱讀 1921·2019-08-30 12:56
閱讀 479·2019-08-30 11:12