js建立函式3種方式
阿新 • • 發佈:2018-12-23
建立函式3種方式:
(1)宣告式
解析器會先讀取函式宣告,並使其在執行任何程式碼之前可以訪問;
function Fn(x,y){
return x + y;
}
(2)匿名式
必須等到解析器執行到它所在的程式碼行才會真正被解釋執行
var fn=function(x,y){
return x + y ;
}
(3)Function式
從技術角度講,這是一個函式表示式。一般不推薦用這種方法定義函式,因為這種語法會導致解析兩次程式碼(第一次是解析常規ECMAScript程式碼,第二次是解析傳入建構函式中的字串),從而影響效能。
//new Function(arg1,arg2...,body)
var sum = new Function('x','y','return x + y ;')
sum(1,2) //3
//特殊注意點:
var name='sss';
function fun(){
var name='lll';
return new Function('return name');//不能獲取區域性變數
}
console.log(fun()()); //sss
//另一個注意點
new Function('var x =1;return x;')() //1
x //報錯,外部無法訪問Function內部變數