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

首頁 > 網站 > WEB開發 > 正文

javascript筆記--(第十一章)Function類型

2024-04-27 15:03:35
字體:
來源:轉載
供稿:網友

Function

在ECMAScript中,Function(函數)實際上是對象。每個函數都是Function類型的實例,而且都與其他引用類型一樣具有屬性和方法。由于函數是對象,因此函數名實際上也是一個指向函數對象的指針。

函數的聲明

<script type="text/javascript">	function box(num1, num2) {		return num1+ num2;	}	var box= function(num1, num2) {		return num1 + num2;	};	var box= new Function('num1', 'num2' ,'return num1 + num2');//更加具體的說明了函數是對象,會導致解析兩次代碼,盡量少用</script>

函數內部屬性

在函數內部,有兩個特殊的對象:arguments和this。arguments是一個類數組對象,包含著傳入函數中的所有參數,主要用途是保存函數參數。但這個對象還有一個名叫callee的屬性,該屬性是一個指針,指向擁有這個arguments對象的函數。
function box(num) {	if (num <= 1) {		return 1;	} else {		return num * arguments.callee(num-1);//使用callee來執行自身,防止如果box函數名稱改變時,需要改變內部遞歸函數的民稱	}}函數內部另一個特殊對象是this,其行為與Java和C#中的this大致相似。換句話說,this引用的是函數據以執行操作的對象。PS:當在全局作用域中調用函數時,this對象引用的就是window。
<script type="text/Javascript">	var name = "person";	var man = {		name:"lisong",		sayName:function(){			console.log(this.name);		}	};	man.sayName();//lisong</script>

函數屬性和方法

ECMAScript中的函數是對象,因此函數也有屬性和方法。每個函數都包含兩個屬性:length和PRototype。其中,length屬性表示函數希望接收的命名參數的個數。
<script type="text/javascript">	function box(name, age) {		alert(name + age);	}	console.log(box.length);//2</script>prototype是原型對象,其下有兩個方法:apply()和call()。這兩個方法的用途都在特定的作用域中調用函數,實際上等于設置函數體內this對象的值。
<script type="text/javascript">	var name = "person";	function sayName1(age,addr) {		console.log(name+":"+age+":"+addr);	}	sayName1(26,"耒陽");//person:26:耒陽	var box={		name:"lisong",		sayName2:function(age,addr){			sayName1.apply(this,[age,addr]);		}	}	box.sayName2(26,"耒陽");//person:26:耒陽	function sayName3(age,addr) {		console.log(this.name+":"+age+":"+addr);//this	}	sayName3(26,"耒陽");//person:26:耒陽	var box={		name:"lisong",		sayName4:function(age,addr){			sayName3.apply(this,[age,addr]);		}	}	box.sayName4(26,"耒陽");//lisong:26:耒陽	var box={		name:"lisong",		sayName5:function(age,addr){			sayName3.call(this,age,addr);//call與apply唯一的不同即傳遞參數的方式不同,apply傳遞的是數組		}	}	box.sayName5(26,"耒陽");//lisong:26:耒陽</script>
上一篇:css小案例 小demo

下一篇:5.列偏移

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 武穴市| 沈阳市| 德阳市| 五家渠市| 鄢陵县| 阿尔山市| 台南市| 六枝特区| 渭南市| 鲁山县| 无为县| 会昌县| 广安市| 海淀区| 翁牛特旗| 社旗县| 连平县| 永胜县| 康乐县| 墨竹工卡县| 同心县| 大石桥市| 开江县| 三原县| 松阳县| 高雄市| 昌平区| 兴安盟| 江达县| 石林| 安新县| 章丘市| 驻马店市| 津南区| 印江| 南澳县| 定州市| 安新县| 灯塔市| 民和| 长治县|