javascript學(xué)習(xí)筆記(七) js函數(shù)介紹
更新時(shí)間:2012年06月19日 23:06:23 作者:
javascript學(xué)習(xí)筆記之js函數(shù)介紹,需要的朋友可以參考下
1.函數(shù)內(nèi)部屬性 arguments
arguments用來保存函數(shù)的參數(shù),arguments.callee指向擁有arguments對象的函數(shù)
//階乘
function factorial(num) {
if (num <= 1) {
return 1;
} else {
return num*arguments.callee(num-1); //用agreements.callee代替
}
}
var trueFactorial = factorial;
factorial = function {
return 0;
}
alert(trueFactorial(5)); //20
alert(factorial(5)); //0
2.函數(shù)的屬性和方法
length屬性,表示函數(shù)參數(shù)的個(gè)數(shù)
3. apply()和call()方法
apply()和call()方法的作用是傳遞參數(shù)或擴(kuò)充函數(shù)的作用域
//傳遞參數(shù)
function sum(num1,num2) {
return num1+num2;
}
function callSum(num1,num2) {
return sum.call(this,num1,num2); //第一個(gè)參數(shù)this,后面列舉所有參數(shù)
}
alert(callSum(10,10)); //20
function calSum1(num1,num2) {
return sum.apply(this,arguments); //第一個(gè)參數(shù)this,第二個(gè)參數(shù)arguments
}
function calSum2(num1,num2) {
return sum.apply(this,[num1,num2]); //第一個(gè)參數(shù)this,第二個(gè)參數(shù)是參數(shù)數(shù)組
}
alert(callSum1(10,10)); //20
alert(callSum2(10,10)); //20
//改變函數(shù)作用域
window.color = "red";
var o = { color:"blue"};
function sayColor() {
alert(this.color);
}
sayColor(); //red
sayColor.call(this); //red
sayColor.call(window);//red
sayColor.call(o); //blue
arguments用來保存函數(shù)的參數(shù),arguments.callee指向擁有arguments對象的函數(shù)
復(fù)制代碼 代碼如下:
//階乘
function factorial(num) {
if (num <= 1) {
return 1;
} else {
return num*arguments.callee(num-1); //用agreements.callee代替
}
}
var trueFactorial = factorial;
factorial = function {
return 0;
}
alert(trueFactorial(5)); //20
alert(factorial(5)); //0
2.函數(shù)的屬性和方法
length屬性,表示函數(shù)參數(shù)的個(gè)數(shù)
3. apply()和call()方法
apply()和call()方法的作用是傳遞參數(shù)或擴(kuò)充函數(shù)的作用域
復(fù)制代碼 代碼如下:
//傳遞參數(shù)
function sum(num1,num2) {
return num1+num2;
}
function callSum(num1,num2) {
return sum.call(this,num1,num2); //第一個(gè)參數(shù)this,后面列舉所有參數(shù)
}
alert(callSum(10,10)); //20
function calSum1(num1,num2) {
return sum.apply(this,arguments); //第一個(gè)參數(shù)this,第二個(gè)參數(shù)arguments
}
function calSum2(num1,num2) {
return sum.apply(this,[num1,num2]); //第一個(gè)參數(shù)this,第二個(gè)參數(shù)是參數(shù)數(shù)組
}
alert(callSum1(10,10)); //20
alert(callSum2(10,10)); //20
復(fù)制代碼 代碼如下:
//改變函數(shù)作用域
window.color = "red";
var o = { color:"blue"};
function sayColor() {
alert(this.color);
}
sayColor(); //red
sayColor.call(this); //red
sayColor.call(window);//red
sayColor.call(o); //blue
您可能感興趣的文章:
- javascript學(xué)習(xí)筆記(十九) 節(jié)點(diǎn)的操作實(shí)現(xiàn)代碼
- javascript學(xué)習(xí)筆記(十八) 獲得頁面中的元素代碼
- javascript學(xué)習(xí)筆記(十七) 檢測瀏覽器插件代碼
- javascript學(xué)習(xí)筆記(十六) 系統(tǒng)對話框(alert、confirm、prompt)
- javascript學(xué)習(xí)筆記(十五) js間歇調(diào)用和超時(shí)調(diào)用
- javascript學(xué)習(xí)筆記(十四) window對象使用介紹
- javascript學(xué)習(xí)筆記(十三) js閉包介紹(轉(zhuǎn))
- javascript學(xué)習(xí)筆記(十二) RegExp類型介紹
- javascript學(xué)習(xí)筆記(十一) 正則表達(dá)式介紹
- javascript學(xué)習(xí)筆記(十) js對象 繼承
- javascript學(xué)習(xí)筆記(九) js對象 設(shè)計(jì)模式
- javascript學(xué)習(xí)筆記(八) js內(nèi)置對象
- javascript學(xué)習(xí)筆記(六) Date 日期類型
- javascript學(xué)習(xí)筆記(五) Array 數(shù)組類型介紹
- javascript學(xué)習(xí)筆記(四) Number 數(shù)字類型
- javascript學(xué)習(xí)筆記(三) String 字符串類型介紹
- javascript學(xué)習(xí)筆記(二) js一些基本概念
- javascript學(xué)習(xí)筆記(一) 在html中使用javascript
- javascript學(xué)習(xí)筆記(二十) 獲得和設(shè)置元素的特性(屬性)
相關(guān)文章
js中window.open的參數(shù)及注意注意事項(xiàng)
下面小編就為大家?guī)硪黄猨s中window.open的參數(shù)及注意注意事項(xiàng)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2016-07-07Google Dart編程語法和基本類型學(xué)習(xí)教程
Dart編程語言是一個(gè)完全面向?qū)ο蟮恼Z言,包括基礎(chǔ)類型如int變量也都是對象,本文主要介紹了Google Dart編程語法和基本類型2013-11-11詳細(xì)解讀JavaScript編程中的Promise使用
這篇文章主要介紹了詳細(xì)解讀JavaScript編程中的Promise使用,是JS入門學(xué)習(xí)中的基礎(chǔ)知識(shí),需要的朋友可以參考下2015-07-07總結(jié)JavaScript三種數(shù)據(jù)存儲(chǔ)方式之間的區(qū)別
這篇文章主要介紹了JavaScript三種數(shù)據(jù)存儲(chǔ)方式之間的區(qū)別,指的分別是sessionStorage和localStorage以及cookie三種瀏覽器端的數(shù)據(jù)存儲(chǔ)方式,需要的朋友可以參考下2016-05-05