国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

JavaScript函數的一些注意要點小結及js匿名函數

2019-11-20 11:18:27
字體:
來源:轉載
供稿:網友

下面給大家介紹javascript函數

函數的基本語法是:

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); //equalvar 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)

PS:JavaScript匿名函數

函數是JavaScript中最靈活的一種對象,這里只是講解其匿名函數的用途。匿名函數:就是沒有函數名的函數。

1.1 函數的定義,首先簡單介紹一下函數的定義,大致可分為三種方式

第一種:這也是最常規的一種

function double(x){ return 2 * x; }

第二種:這種方法使用了Function構造函數,把參數列表和函數體都作為字符串,很不方便,不建議使用。

復制代碼 代碼如下:

var double = new Function('x', 'return 2 * x;');

第三種:

復制代碼 代碼如下:

var double = function(x) { return 2* x; }

注意“=”右邊的函數就是一個匿名函數,創造完畢函數后,又將該函數賦給了變量square。

1.2 匿名函數的創建

第一種方式:就是上面所講的定義square函數,這也是最常用的方式之一。

第二種方式:

(function(x, y){ alert(x + y); })(2, 3);

這里創建了一個匿名函數(在第一個括號內),第二個括號用于調用該匿名函數,并傳入參數。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 昌吉市| 武安市| 文成县| 绵竹市| 长宁区| 洪雅县| 新闻| 资源县| 长春市| 平乐县| 竹山县| 隆德县| 玛纳斯县| 乌审旗| 河津市| 恩施市| 凤山县| 万荣县| 汉源县| 昭苏县| 德惠市| 罗甸县| 甘洛县| 任丘市| 武义县| 娱乐| 溧水县| 博兴县| 赤城县| 金乡县| 武义县| 揭西县| 博乐市| 竹山县| 灵寿县| 祁阳县| 格尔木市| 明水县| 寻甸| 昌平区| 赞皇县|