首頁  >  文章  >  web前端  >  Javascript 普通函數和建構函數的區別(結合程式碼,詳細解讀)

Javascript 普通函數和建構函數的區別(結合程式碼,詳細解讀)

亚连
亚连原創
2018-05-19 14:22:512390瀏覽

這篇文章主要介紹了Javascript 普通函數和建構函式的區別的相關資料,需要的朋友可以參考下

普通函式和建構函式的差異

#在命名規則上,建構函式一般是首字母大寫,普通函式遵照小駝峰式命名法。

在函數呼叫的時候:

function fn() { }

     建構子:1. new fn( )
                     2 .建構函式內部會建立一個新的對象,即f的實例
                              4. 預設的回復值為f的實例

 

    普通函數:1. fn( )                         3. 函數內部的this指向呼叫函數的物件(如果沒有物件調用,預設為window)
                     4. 傳回值由return語句決定 
## 建構函式的預設值:「有一個」的預設值將返回值與# 實例);
     手動新增回傳值後(return語句):

          1. 傳回值是基本資料型別-->真正的回傳值或是那個新建立的物件(實例)

          2. 回傳值是複雜資料型態(物件)-->真正的回傳值是這個物件 


看一個常見的面試題

<script>
  function foo() {
    var f2 = new foo2();
    console.log(f2);  //{a: 3}
    console.log(this); //window
    return true;
  }
  function foo2() {
    console.log(this); //foo2类型的对象 不是foo2函数
//    this.age = 30;
    return {a: 3};
  }
  var f1 = foo();
  console.log(f1); // true
</script>

上面是我整理給大家的,希望未來會對大家有幫助。

相關文章:

node

js

express實作檔案上傳案例詳解

JS產生時間列表並輸出

webpack.config.js參數使用案例

#

以上是Javascript 普通函數和建構函數的區別(結合程式碼,詳細解讀)的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn