国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

Javascript 普通函數和構造函數的區別

2019-11-19 19:03:36
字體:
來源:轉載
供稿:網友

普通函數和構造函數的區別

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

在函數調用的時候:

function fn() { }

     構造函數:1. new fn( )
                     2 .構造函數內部會創建一個新的對象,即f的實例
                     3. 函數內部的this指向 新創建的f的實例
                     4. 默認的返回值是f的實例

     普通函數:1. fn( )
                     2. 在調用函數的內部不會創建新的對象
                     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>

感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 临西县| 霍林郭勒市| 曲靖市| 宁波市| 突泉县| 江源县| 兴仁县| 自贡市| 唐河县| 奎屯市| 中牟县| 荥经县| 泉州市| 桦川县| 普定县| 义乌市| 彭泽县| 桐庐县| 彰化市| 乐都县| 察哈| 西昌市| 柳州市| 仙桃市| 武城县| 佛教| 济源市| 科技| 湘潭县| 武义县| 永定县| 罗山县| 剑河县| 汉川市| 兰西县| 页游| 大悟县| 凤凰县| 雷波县| 巧家县| 长子县|