javaScript中fun();與fun區(qū)別
- 教育綜合
- 2024-03-03 12:59:56
javascript 函數(shù)表達(dá)的問題 fun跟fun()有什么不同?
JavaScript中的函數(shù)的使用包括下面這3個方面,聲明函數(shù),傳遞函數(shù),調(diào)用函數(shù).具體示例如下:
//1.聲明函數(shù):
functionfunc(){
console.log('執(zhí)行了函數(shù)');
}
//2.調(diào)用函數(shù):這時要帶括號
func();//即執(zhí)行函數(shù)內(nèi)部的代碼,如果不調(diào)用函數(shù),函數(shù)內(nèi)部代碼不會執(zhí)行;
//3.傳遞函數(shù):將函數(shù)當(dāng)作變量一樣傳遞,不需要帶括號.
//示例1:
varfunc2=func;
func2();
//示例2:
functionfunc3(value,fn){
if(value>10){
fn();
}
}
func3(5,func);//將func作為參數(shù)傳遞給了函數(shù)func3
func3(10,func);
javascript中var s=new fun; 和var s=new fun();有什么區(qū)別?
沒有什么區(qū)別。 使用 new 關(guān)鍵字創(chuàng)建實例的時候,如果沒有參數(shù),可以省略括號。 編碼規(guī)范不是很推薦這么寫。但是不會帶來問題。 比如: new Date關(guān)于js函數(shù)的寫法 fun = function(){} fun:{}有什么不同,高手回答
這幾種方法每一個都有不一樣的作用。
1.myfun:function(){} 這個是必須寫在對象內(nèi)部的,這是一個對象的方法,如
vara={
myfun:function(){}
}
寫在外面會報錯。
2.任何時候都不要這樣寫myfun = function(){},這樣寫就變成了全局對象window的一個屬性,要記得加上var ,第四種方式是對的,如下:
varmyfun=function(){}
這是一種聲明函數(shù)的方式,左邊是一個變量,右邊是一個函數(shù)的表達(dá)式,意思就是把一個匿名的函數(shù)表達(dá)式復(fù)制給了變量myfun,只是聲明了一個變量指向了一個函數(shù)對象。這個和第三種方法function myfun(){}聲明的方法差別不大,但還是有差別的。
這就要涉及到j(luò)avascript解析的部分了,簡單來說,js在解析的過程中,會先把函數(shù)和變量提前解析。
function myfun(){}這種聲明方法會把函數(shù)整個語句顯示的提前到了腳本或者函數(shù)前(當(dāng)前作用域),函數(shù)名和函數(shù)均會被提前(會在執(zhí)行上下文代碼前聲明)。
而varmyfun=function(){}這種聲明方法,只是提前了一個變量,并沒有提前函數(shù)體。
3.最后一種并不是聲明的函數(shù),只是在myfun函數(shù)上的原始對象上加了一個myfunPro方法,構(gòu)造函數(shù)中用到的。給你個例子:
varmyfun=function(){
this.a="a";
}
myfun.prototype.myfunPro=function(){
alert("0")
}
vartest=newmyfun();
console.log(test);
運行結(jié)果如下圖:
這時候如果你在最底部加上一段代碼,如下:
varmyfun=function(){
this.a="a";
}
myfun.prototype.myfunPro=function(){
alert("0")
}
vartest=newmyfun();
console.log(test);
test.myfunPro();
這時候就會彈出一個對話框 0了 ,你可以試試
請問javascript 中 function() 與function a()區(qū)別
function(){ ......代碼 } 是定義一個匿名的function function a(){ ......代碼 } 則是定一個function名稱為a的方法。 如果要從用法的角度來說明的話: var a = function(){ ......代碼 } 與 function a(){ ......代碼 } 是等價的。 前者從思路上是先定義一個匿名的function并將該function賦值給變量a,后者是直接定一個名字為a的function。最終達(dá)到的效果是一致的。 如果你還有什么疑問想具體了解也可以加我百度hi好友,希望我的回答能幫到你。javascript中的function 函數(shù)名(){} 和 函數(shù)名:function(){}有什么不同?
1、是定義函數(shù) 2、是設(shè)置對象的方法,比如 var foo={ a:12, b:function(){alert('adfs');} } foo.b();//調(diào)用b方法。下一篇
返回列表