最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Javascript 普通函數和構造函數的區(qū)別

 更新時間:2016年11月05日 09:07:57   投稿:lqh  
這篇文章主要介紹了Javascript 普通函數和構造函數的區(qū)別的相關資料,需要的朋友可以參考下

普通函數和構造函數的區(qū)別

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

在函數調用的時候:

function fn() { }

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

     普通函數:1. fn( )
                     2. 在調用函數的內部不會創(chuàng)建新的對象
                     3. 函數內部的this指向調用函數的對象(如果沒有對象調用,默認是window)
                     4. 返回值由return語句決定 

 構造函數的返回值:

     有一個默認的返回值,新創(chuàng)建的對象(實例);
     當手動添加返回值后(return語句):

          1. 返回值是基本數據類型-->真正的返回值還是那個新創(chuàng)建的對象(實例)
          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>

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

相關文章

最新評論

蒙阴县| 彰化市| 嘉峪关市| 宽甸| 富阳市| 孟津县| 凌云县| 类乌齐县| 中阳县| 法库县| 宽甸| 错那县| 贺兰县| 沽源县| 额敏县| 库车县| 西畴县| 沈丘县| 乐陵市| 湟源县| 思南县| 郯城县| 长沙市| 嘉荫县| 烟台市| 昌都县| 邓州市| 马公市| 祥云县| 西昌市| 广德县| 元氏县| 伊川县| 长垣县| 浪卡子县| 凤城市| 将乐县| 鄂州市| 基隆市| 乳山市| 武鸣县|