js函数
函數的角色:
函數有兩個不同的角色:
函數聲明:
function f1() {console.log("我是函數");}f1();函數聲明也有另外一種情況:
if(true){function f1() {console.log("哈哈,我又變帥了");}}else{function f1() {console.log("小蘇好猥瑣");}}f1();?
函數表達式:
var ff=function () {console.log("我也是一個函數");};ff();函數表達式也有另外一種情況:
var ff;if(true){ff=function () {console.log("哈哈,我又變帥了");};}else{ff=function () {console.log("小蘇好努力");};}ff();上面都是函數表達式或者函數聲明,但是第二種情況下,函數聲明在IE8的瀏覽器中會出現問題。
總結1:函數聲明如果放在if-else的語句中,在IE8的瀏覽器中會出現問題,所以建議寧愿用函數表達式,都不用函數聲明。
函數中的this指向:
函數的不同的調用方法:
詳見如下代碼:
//普通函數function f1() {console.log("文能提筆控蘿莉");}f1();//構造函數---通過new 來調用,創建對象function F1() {console.log("我是構造函數,我驕傲");}var f=new F1();//對象的方法function Person() {this.play=function () {console.log("玩代碼");};}var per=new Person();per.play();總結2:所有的函數實際上都是Function的構造函數創建出來的實例對象
數組的函數調用:
數組的函數調用,將函數作為參數使用,具體案例如下:
var arr=[function () {console.log("十一假期快樂");},function () {console.log("十一假期開心");},function () {console.log("十一假期健康");},function () {console.log("十一假期安全");},function () {console.log("十一假期如意");}];//回調函數:函數作為參數使用arr.forEach(function (ele) {ele();//輸出 十一假期快樂 十一假期開心 十一假期健康 十一假期安全 十一假期如意});函數定義:?
? ? 在Javascript定義一個函數一般有如下三種方式:
后兩種都是把一個函數復制給變量fnMethodName,而這個函數是沒有名字的,即匿名函數(拉達姆函數)。
總結
- 上一篇: 创意信息联席CTO:学习财务思维,打造1
- 下一篇: 不要迷信微服务,微服务就是个传说