欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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不推薦使用,原因會導(dǎo)致解析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編寫俄羅斯方塊思路及實例

    Javascript編寫俄羅斯方塊思路及實例

    本文主要給大家介紹的是使用javascript編寫俄羅斯方塊小游戲的思路和具體的實例代碼,有需要的小伙伴可以參考下
    2015-07-07
  • 第一次記錄Bootstrap table學(xué)習(xí)筆記(1)

    第一次記錄Bootstrap table學(xué)習(xí)筆記(1)

    這篇文章主要為大家介紹了第一次學(xué)習(xí)Bootstrap table表格插件的筆記,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-05-05
  • js函數(shù)的延遲加載實現(xiàn)代碼

    js函數(shù)的延遲加載實現(xiàn)代碼

    延遲加載的函數(shù),第一次調(diào)用后,會覆蓋原來的老函數(shù),以后再次調(diào)用的是新函數(shù),不會再進行條件的判斷,提升效率
    2012-10-10
  • JS實現(xiàn)盒子跟著鼠標移動及鍵盤方向鍵控制盒子移動效果示例

    JS實現(xiàn)盒子跟著鼠標移動及鍵盤方向鍵控制盒子移動效果示例

    這篇文章主要介紹了JS實現(xiàn)盒子跟著鼠標移動及鍵盤方向鍵控制盒子移動效果,涉及javascript事件響應(yīng)及頁面元素屬性動態(tài)操作相關(guān)實現(xiàn)技巧,需要的朋友可以參考下
    2019-01-01
  • 小程序?qū)崿F(xiàn)留言板

    小程序?qū)崿F(xiàn)留言板

    這篇文章主要為大家詳細介紹了微信小程序?qū)崿F(xiàn)留言板,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-11-11
  • JavaScript判斷當前時間是在某個時間點之前/之后

    JavaScript判斷當前時間是在某個時間點之前/之后

    本文主要介紹了JavaScript判斷當前時間是在某個時間點之前/之后,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-07-07
  • 關(guān)于moment.js的常用方法及使用說明

    關(guān)于moment.js的常用方法及使用說明

    這篇文章主要介紹了關(guān)于moment.js的常用方法及說明,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-12-12
  • 屏蔽script注入小例子

    屏蔽script注入小例子

    有關(guān)script注入想必大家也有所了解,在本文將為大家介紹下如何屏蔽script注入,下面有個不錯的示例大家可以感受下
    2013-11-11
  • javascript 數(shù)組排序函數(shù)

    javascript 數(shù)組排序函數(shù)

    javascript的數(shù)組排序函數(shù) sort方法,默認是按照ASCII 字符順序進行升序排列。
    2009-08-08
  • 原生js拖拽功能制作滑動條實例代碼

    原生js拖拽功能制作滑動條實例代碼

    這篇文章主要介紹了原生js拖拽功能制作滑動條實例教程,本文通過實例代碼給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-02-02

最新評論