Javascript 普通函數(shù)和構(gòu)造函數(shù)的區(qū)別
普通函數(shù)和構(gòu)造函數(shù)的區(qū)別
在命名規(guī)則上,構(gòu)造函數(shù)一般是首字母大寫(xiě),普通函數(shù)遵照小駝峰式命名法。
在函數(shù)調(diào)用的時(shí)候:
function fn() { }
構(gòu)造函數(shù):1. new fn( )
2 .構(gòu)造函數(shù)內(nèi)部會(huì)創(chuàng)建一個(gè)新的對(duì)象,即f的實(shí)例
3. 函數(shù)內(nèi)部的this指向 新創(chuàng)建的f的實(shí)例
4. 默認(rèn)的返回值是f的實(shí)例
普通函數(shù):1. fn( )
2. 在調(diào)用函數(shù)的內(nèi)部不會(huì)創(chuàng)建新的對(duì)象
3. 函數(shù)內(nèi)部的this指向調(diào)用函數(shù)的對(duì)象(如果沒(méi)有對(duì)象調(diào)用,默認(rèn)是window)
4. 返回值由return語(yǔ)句決定
構(gòu)造函數(shù)的返回值:
有一個(gè)默認(rèn)的返回值,新創(chuàng)建的對(duì)象(實(shí)例);
當(dāng)手動(dòng)添加返回值后(return語(yǔ)句):
1. 返回值是基本數(shù)據(jù)類(lèi)型-->真正的返回值還是那個(gè)新創(chuàng)建的對(duì)象(實(shí)例)
2. 返回值是復(fù)雜數(shù)據(jù)類(lèi)型(對(duì)象)-->真正的返回值是這個(gè)對(duì)象
看一個(gè)常見(jiàn)的面試題
<script> function foo() { var f2 = new foo2(); console.log(f2); //{a: 3} console.log(this); //window return true; } function foo2() { console.log(this); //foo2類(lèi)型的對(duì)象 不是foo2函數(shù) // this.age = 30; return {a: 3}; } var f1 = foo(); console.log(f1); // true </script>
感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!
- 深入理解JavaScript中的箭頭函數(shù)
- JavaScript中的普通函數(shù)和箭頭函數(shù)的區(qū)別和用法詳解
- Javascript中 帶名 匿名 箭頭函數(shù)的重要區(qū)別(推薦)
- 深入理解Javascript箭頭函數(shù)中的this
- javascript ES6中箭頭函數(shù)注意細(xì)節(jié)小結(jié)
- JavaScript箭頭函數(shù)中的this詳解
- 詳解Javascript ES6中的箭頭函數(shù)(Arrow Functions)
- JavaScript中的普通函數(shù)與構(gòu)造函數(shù)比較
- JavaScript中箭頭函數(shù)與普通函數(shù)的區(qū)別詳解
相關(guān)文章
用javascript自動(dòng)顯示最后更新時(shí)間
用javascript自動(dòng)顯示最后更新時(shí)間...2007-03-03JavaScript代碼優(yōu)雅,簡(jiǎn)潔的編寫(xiě)技巧總結(jié)
專(zhuān)業(yè)開(kāi)發(fā)人員將為未來(lái)的自己和“其他人”編寫(xiě)代碼,而不僅僅只編寫(xiě)當(dāng)前能工作就行的代碼。在此基礎(chǔ)上,簡(jiǎn)潔代碼可以定義為自解釋的、易于人理解的、易于更改或擴(kuò)展的代碼。以下列表一些好編寫(xiě)方式,僅供參考2022-10-10如何在標(biāo)題欄顯示框架內(nèi)頁(yè)面的標(biāo)題
如何在標(biāo)題欄顯示框架內(nèi)頁(yè)面的標(biāo)題...2007-02-02addEventListener和attachEvent二者綁定的執(zhí)行函數(shù)中的this不相同
寫(xiě) addEventListener 和 attachEvent 區(qū)別的博文不少,不過(guò)大部分都把重點(diǎn)放置于前者是Firefox chrome,后者只是存在于IE系列中2012-12-12深入探討JavaScript的最基本部分之執(zhí)行上下文
今天小編就為大家分享一篇關(guān)于深入探討JavaScript的最基本部分之執(zhí)行上下文,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧2019-02-02JavaScript中使用Math.floor()方法對(duì)數(shù)字取整
這篇文章主要介紹了JavaScript中使用Math.floor()方法對(duì)數(shù)字取整,是JS入門(mén)學(xué)習(xí)中的基礎(chǔ)知識(shí),需要的朋友可以參考下2015-06-06