首頁 >web前端 >js教程 >Javascript 普通函數與建構函數的區別

Javascript 普通函數與建構函數的區別

高洛峰
高洛峰原創
2016-12-07 15:34:461315瀏覽

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

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

在函數呼叫的時候:

function fn() { }

     建構子:1. new fn( )    內部會創造一個新的對象,即f的實例
                     3.函數內部的this指向新創建的f的實例
                     4. 預設的傳回值是f的實例
           2. 在呼叫函數的內部不會建立新的物件
                     3.函數內部的this指向調用函數的物件(如果沒有物件調用,預設是window)

                     的返回值,新建的物件(實例);

     當手動新增回傳值後(return語句):


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

看一個常見的面試題

<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>

   




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