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

javascript中Function類型詳解

 更新時間:2015年04月28日 08:58:42   投稿:hebedich  
這篇文章主要介紹了javascript中Function類型詳解的相關(guān)資料,需要的朋友可以參考下

Function 類型

  function類型,毋庸置疑是js中相當重要的一個玩意。

  1.這玩意首先是一個對象,也就是說它是一個引用類型。陳述:一聽說是對象,是不是很有一種它的基類是object對象錯覺感,No,

它和object是獨立的2個東西。當你typeof function 時,返回的是 funciton 并非 object

  2.每個函數(shù)都是 Function 對象的一個實例,它與其他引用對象一樣具有屬性和方法。由于它是對象所以函數(shù)名是指向函數(shù)對象的指針

關(guān)于函數(shù)的聲明的語法支持:

<script>

  //方式1
  function fun(num1,num2){
    return num1+num2;
  }
  
  //方式2
  var fun=function(num1,num2){
    return num1+num2;
  };

  //方式3
  var fun=new Function("n1","n2","return n1+n2");
  
</script>

講解:3種方式都能完成一個函數(shù)的聲明,但各有不同。

方式1 理解為 一個函數(shù)的聲明,方式2,方式3理解為函數(shù)表達式。(方式3不推薦使用,原因會導致解析2次代碼,先解釋常規(guī)ECMAScript代碼,在解釋傳入的參數(shù),這種

寫法,參數(shù)可以是N個,但是最后一個參數(shù)視為函數(shù)主體)

為什么說不同,主要在于,js解析器對函數(shù)聲明 和 函數(shù)表達式 解析的不同。解析器會優(yōu)先讀取函數(shù)申明,js引擎在執(zhí)行時會將函數(shù)聲明自動放到執(zhí)行環(huán)境的最頂端。

而函數(shù)表達式則不同,當執(zhí)行到函數(shù)表達式時,才會真正去被解釋執(zhí)行。關(guān)于這點理解很重要!

看代碼

<script>
  console.log(typeof fun); //"function"
  console.log(typeof fun2); //"undefined"
  console.log(typeof fun3); //"undefined"
  function fun(n1,n2){
   return n1+n2;
  }
  var fun2=function(n1,n2){
   return n1+n2;
  }
  var fun3=new Function("n1","n2","return n1+n2;");
 </script>

  3.為什么函數(shù)沒有重載?

  這個問題要從js的語言特性來考慮。在第2條已經(jīng)說了,函數(shù)名稱只是指向函數(shù)對象的一個指針。根據(jù)指針的概念去理解就清楚了。

  看代碼示例:

<script>
  function fun(n1){
   return n1+100;
  }
  function fun(n1){
   return n1+200;
  }
  console.log(fun(1));// 201 
  
  //以上寫法在解析后應(yīng)為
  
  var fun=function(n1){
    return n1+100;
  }
  fun=function(n1){
   return n1+200;
  }
  
  // fun 的引用被覆蓋了
  console.log(fun(1));// 201 
 </script>

今天就寫到這,都是寫基本概念,希望對這塊有盲點的起到幫助!有什么需要指正的地方,希望各位霸氣留言指正。

以上所述就是本文的全部內(nèi)容了,希望大家能夠喜歡。

相關(guān)文章

  • javascript定時器取消定時器及優(yōu)化方法

    javascript定時器取消定時器及優(yōu)化方法

    這篇文章主要介紹了 javascript定時器取消定時器及js定時器優(yōu)化方法的相關(guān)資料,需要的朋友可以參考下
    2017-07-07
  • JavaScript 編寫匿名函數(shù)的幾種方法

    JavaScript 編寫匿名函數(shù)的幾種方法

    匿名函數(shù)可以有效控制變量作用域,構(gòu)造閉包 (Closure),防止對全局變量造成污染。在 JavaScript 中,編寫匿名函數(shù),有以下幾種方法.
    2010-02-02
  • ESLint詳解及在WebStorm中的應(yīng)用步驟

    ESLint詳解及在WebStorm中的應(yīng)用步驟

    ESLint是一種JavaScript代碼檢查工具,開發(fā)者可以通過自定義規(guī)則進行代碼風格和質(zhì)量的控制,使用ESLint的過程包括安裝、初始化配置、配置規(guī)則、運行ESLint檢查代碼、與編輯器集成,以及與構(gòu)建工具集成等,需要的朋友可以參考下
    2024-09-09
  • 淺談函數(shù)調(diào)用的不同方式,以及this的指向

    淺談函數(shù)調(diào)用的不同方式,以及this的指向

    下面小編就為大家?guī)硪黄獪\談函數(shù)調(diào)用的不同方式,以及this的指向。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-09-09
  • 微信小程序?qū)崿F(xiàn)活動報名登記功能(實例代碼)

    微信小程序?qū)崿F(xiàn)活動報名登記功能(實例代碼)

    這篇文章主要介紹了微信小程序?qū)崿F(xiàn)活動報名登記,本篇將介紹使用微信小程序?qū)崿F(xiàn)發(fā)起一個活動報名的設(shè)計,以此為基礎(chǔ),我們可以掌握微信小程序表單的基本用法,進而在諸如疫情信息登記、出入報備等場景中使用小程序進行開發(fā),滿足相關(guān)的需求,需要的朋友可以參考下
    2022-09-09
  • js光標定位文本框回車表單提交問題的解決方法

    js光標定位文本框回車表單提交問題的解決方法

    這篇文章主要介紹了js光標定位文本框回車表單提交問題的解決方法,涉及javascript阻止瀏覽器默認事件的方法,需要的朋友可以參考下
    2015-05-05
  • JavaScript作用域鏈實例詳解

    JavaScript作用域鏈實例詳解

    這篇文章主要介紹了JavaScript作用域鏈,結(jié)合實例形式較為詳細的分析了作用域鏈的原理、功能與相關(guān)操作注意事項,需要的朋友可以參考下
    2019-01-01
  • setInterval計時器不準的問題解決方法

    setInterval計時器不準的問題解決方法

    在js中如果打算使用setInterval進行倒數(shù),計時等功能,往往是不準確的,針對這個問題,本文有個不錯的解決方案
    2014-05-05
  • uniapp中微信小程序與H5相互跳轉(zhuǎn)以及傳參詳解(webview)

    uniapp中微信小程序與H5相互跳轉(zhuǎn)以及傳參詳解(webview)

    在單位做項目的時候碰到一個需求,需要從微信小程序跳轉(zhuǎn)到H5頁面,下面這篇文章主要給大家介紹了關(guān)于uniapp中微信小程序與H5相互跳轉(zhuǎn)以及傳參的相關(guān)資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-08-08
  • JS點擊圖片彈出文件選擇框并覆蓋原圖功能的實現(xiàn)代碼

    JS點擊圖片彈出文件選擇框并覆蓋原圖功能的實現(xiàn)代碼

    這篇文章主要介紹了JS點擊圖片彈出文件選擇框并覆蓋原圖功能的實現(xiàn)代碼,需要的朋友可以參考下
    2017-08-08

最新評論

阜城县| 洛扎县| 西平县| 丰镇市| 公安县| 泰安市| 石家庄市| 乐陵市| 蒙自县| 桐城市| 乌兰察布市| 诸城市| 壶关县| 恩平市| 中山市| 湘阴县| 南宫市| 砀山县| 密山市| 视频| 望谟县| 青田县| 泽库县| 南投市| 海林市| 奉贤区| 察隅县| 喀什市| 娱乐| 高安市| 临湘市| 民乐县| 高邮市| 金川县| 河北省| 淅川县| 太康县| 东海县| 武乡县| 云浮市| 千阳县|