javascript學(xué)習(xí)筆記(七) js函數(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ù)的個數(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); //第一個參數(shù)this,后面列舉所有參數(shù)
}
alert(callSum(10,10)); //20
function calSum1(num1,num2) {
return sum.apply(this,arguments); //第一個參數(shù)this,第二個參數(shù)arguments
}
function calSum2(num1,num2) {
return sum.apply(this,[num1,num2]); //第一個參數(shù)this,第二個參數(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ù)的個數(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); //第一個參數(shù)this,后面列舉所有參數(shù)
}
alert(callSum(10,10)); //20
function calSum1(num1,num2) {
return sum.apply(this,arguments); //第一個參數(shù)this,第二個參數(shù)arguments
}
function calSum2(num1,num2) {
return sum.apply(this,[num1,num2]); //第一個參數(shù)this,第二個參數(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)用和超時調(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è)計模式
- 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)文章
JavaScript高級程序設(shè)計(第3版)學(xué)習(xí)筆記2 js基礎(chǔ)語法
這一篇復(fù)習(xí)一下ECMAScript規(guī)范中的基礎(chǔ)語法,英文好的朋友可以直接閱讀官方文檔。JavaScript本質(zhì)上也是一種類C語言,熟悉C語言的朋友,可以非常輕松的閱讀這篇文章,甚至都可以跳過,不過建議你最好還是看一看,在介紹的同時,我可能會引用一些自認(rèn)為不易理解且比較流行的用法。2012-10-10
JavaScript高級程序設(shè)計(第3版)學(xué)習(xí)筆記4 js運(yùn)算符和操作符
如果說數(shù)據(jù)類型是編程語言的磚瓦,那么運(yùn)算符和操作符則是編程語言的石灰和水泥了,它是將各種數(shù)據(jù)類型的值有機(jī)組合的糅合劑,使得數(shù)據(jù)值不再只是一個孤立的值,而有了一種動態(tài)的靈性2012-10-10
caller和callee的區(qū)別介紹及演示結(jié)果
caller返回一個函數(shù)的引用,這個函數(shù)調(diào)用了當(dāng)前的函數(shù);callee放回正在執(zhí)行的函數(shù)本身的引用,它是arguments的一個屬性,感興趣的你可以參考下或許可以幫助到你2013-03-03
JavaScript italics方法入門實(shí)例(把字符串顯示為斜體)
這篇文章主要介紹了JavaScript italics方法入門實(shí)例,italics方法用于把字符串顯示為斜體,需要的朋友可以參考下2014-10-10
JavaScript中CreateTextFile函數(shù)
JavaScript中CreateTextFile函數(shù)是創(chuàng)建指定的文件名并返回一個 TextStream 對象,可以使用這個對象對文件進(jìn)行讀寫2020-08-08
javascript學(xué)習(xí)筆記(九)javascript中的原型(prototype)及原型鏈的繼承方式
在javascript學(xué)習(xí)筆記(八)中,我們主要學(xué)習(xí)了在使用javascript面向?qū)ο缶幊虝r,如何創(chuàng)建對象及添加對象的屬性和方法。2011-04-04
告訴你什么是javascript的回調(diào)函數(shù)
在javascript中回調(diào)函數(shù)非常重要,它們幾乎無處不在。像其他更加傳統(tǒng)的編程語言都有回調(diào)函數(shù)概念,但是非常奇怪的是,完完整整談?wù)摶卣{(diào)函數(shù)的在線教程比較少,倒是有一堆關(guān)于call()和apply()函數(shù)的,或者有一些簡短的關(guān)于callback的使用示例。2014-09-09

