最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

詳解JavaScript自定義函數(shù)

 更新時(shí)間:2020年07月29日 16:22:02   作者:看云  
這篇文章主要介紹了JavaScript自定義函數(shù)的相關(guān)資料,文中講解非常細(xì)致,代碼幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以了解下

一、定義方法:在Javascript中必須用function關(guān)鍵字

function funcName(arg1,arg2...)
{
statements;
return "變量值"; //返回值可以根據(jù)函數(shù)的需要
}

函數(shù)名是函數(shù)自身的一個(gè)引用。此種方式創(chuàng)立的函數(shù)引用是獨(dú)立存在的,無法刪除。

1、調(diào)用函數(shù):函數(shù)名(參數(shù)列表)。

傳遞的參數(shù)不必與函數(shù)定義的參數(shù)個(gè)數(shù)一致,并且可以設(shè)定函數(shù)參數(shù)的默認(rèn)值。

function example(a,b){
  var a = arguments[0] ? arguments[0] : 1;//設(shè)置參數(shù)a的默認(rèn)值為
  var b = arguments[1] ? arguments[1] : 2;//設(shè)置參數(shù)b的默認(rèn)值為2
  return a+b;
}
alert(example());  //輸出3

其他方法:設(shè)置默認(rèn)參數(shù)方式

2、嵌套函數(shù):在JS中,函數(shù)的定義中還可以再次定義新的函數(shù)

function say()
{
  function add(x,y)
  {
   return (x+y);
  }
  alert(add(2,3));
}
say(); //輸出5

內(nèi)嵌函數(shù)add()只能在嵌套它的函數(shù)(say())中調(diào)用,而不能再外部調(diào)用。

3、條件函數(shù):

var b = false;
if(b)
{
	function ex1()
	{
		alert(1);
	}
		ex1();
}
else
{
	function ex2()
	{
		alert(0);
	}
	     ex2();
}

輸出0,將b的值改為TRUE,則輸出1,不演示。條件函數(shù)的花括號(hào)不具有范圍限制,即可以在花括號(hào)外訪問函數(shù)。

二 、函數(shù)的特殊條用方式:網(wǎng)頁中的所有方法可以看做全局對(duì)象window對(duì)象的方法

function add(x,y)
{
	return x+y;
}
//1
alert(window.add(2,3));

//2
alert(window['add'](2,3));

以上結(jié)果均是5

三、函數(shù)表達(dá)式定義函數(shù):匿名函數(shù)

1、定義方式:var fucName = function(arg1,arg2,...){statements;}

var add = function (x,y)
{
	return x+y;
}

alert(add(2,3));//輸出為5

其中,add是該函數(shù)的唯一引用,當(dāng)add=null,該函數(shù)便不能再調(diào)用。

2、匿名自執(zhí)行函數(shù):

(function(x,y)
	{
		alert(x + y) ;
	})(2,3);     //立即自動(dòng)執(zhí)行,結(jié)果為5

3、匿名函數(shù)的用途

2.1  用于一次調(diào)用后就丟棄的函數(shù)

2.2  向prototype屬性附加函數(shù)以實(shí)現(xiàn)對(duì)象方法的定義

四、使用Function定義函數(shù):

在JS中,F(xiàn)unction為核心類的一種,而其他方式定義的函數(shù)也均作為對(duì)象對(duì)待,因?yàn)樵贘S中的OOP中,不存在類的概念,這是JS與Java、C#等語言的區(qū)別。

var add = new Function(“函數(shù)參數(shù)”,"函數(shù)體"); add為函數(shù)名,即函數(shù)的一個(gè)引用。

var add = new Function('x','y',"return x+y");
alert(add(2,3));

上述的結(jié)果為5.

五、閉包函數(shù):當(dāng)一個(gè)函數(shù)不位于它所處環(huán)境(變量的作用范圍)被調(diào)用,仍可使用本地變量(脫離了變量的作用范圍仍可使用該變量),這是閉包函數(shù)的顯著特征。

5.1    作為值從函數(shù)返回的函數(shù)是閉包函數(shù)

function B()
{
	var temp="abc";
	function A()
	{
		alert("閉包函數(shù)處理本地變量temp = "+temp);
	}
	return A;
}
var a = B();
a();

運(yùn)行結(jié)果:(本地變量是函數(shù)內(nèi)聲明的變量)

5.2   利用變量的作用范圍形成閉包函數(shù)

var F;
function B()
{
	var temp="abc";
	F=function ()
	{
		alert("利用變量范圍形成閉包函數(shù)處理本地變量temp = "+temp);
	}
}
B();
F();

運(yùn)行結(jié)果

以上就是詳解JavaScript自定義函數(shù)的詳細(xì)內(nèi)容,更多關(guān)于JavaScript自定義函數(shù)的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

最新評(píng)論

疏附县| 新闻| 蒙自县| 穆棱市| 凯里市| 耒阳市| 米林县| 九江县| 杭锦后旗| 忻城县| 广宗县| 东港市| 来安县| 镇康县| 兴海县| 房山区| 靖江市| 东乌珠穆沁旗| 临邑县| 东兴市| 安福县| 柘城县| 内江市| 凤凰县| 商河县| 沈阳市| 绿春县| 山东省| 霍州市| 策勒县| 红河县| 兴化市| 河东区| 阳春市| 秦皇岛市| 吴堡县| 江油市| 孝义市| 拉萨市| 临沭县| 绩溪县|