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