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

深入淺析JS Function()構造函數

 更新時間:2016年08月22日 15:10:32   作者:學無止境-小于  
這篇文章給大家介紹了js function()構造函數的知識以及關于function()構造函數需要注意的幾個要點,本文介紹的非常不錯,具有參考借鑒價值,感興趣的朋友一起看下吧

js中function對象是一個令人著迷的東西,但由于他太過于靈活,常常令人迷惑.

先給大家看個代碼片段。

var scope="global";
function constructFunction(){
var scope="local";
return new Function(" return scope");
}
constructFunction()();
 function constructFunction2(){
var scope="local";
return function(){
return scope;
}
}
constructFunction2()();

   看到這兩個你的第一感覺是什么?都返回 "local"??,如果是這樣的話就需要好好看一下下面的講解了。constructFunction2()了解閉包的就應該很容易的知道答案 是"local",這里就不細講了。下面我著重講一下constructFunction()的情況。

  這里用到了 Function()構造函數, Function()構造函數雖然不是很常用,但是了解一下還是很有必要的。

  不管是通過函數定義語句還是函數直接量表達式,函數的定義都要使用 function()關鍵字。單函數還可以通過Function()構造函數來定義,比如:

 var f=new Function("x","y","return x*y");

  這一行的實際效果和下面的一行代碼是等價的。

var f=function(x,y){x*y};

   Function()構造函數可以傳入任意數量的字符串實參,最后一個實參所表示的文本是函數體;它可以包含任意的Javascript 語句,每條語句之間用分號分割。傳入構造函數的其他所有的實參字符串是指定函數的名字的字符串。如果定義的函數不包含任何參數,只需給構造函數簡單地傳入 一個字符串函數體即可。

  關于Function()構造函數需要特別注意一下幾點:

  1.Function()構造函數允許JavaScript在運行時動態(tài)的創(chuàng)建并編譯函數。

  2.每次調用Function()構造函數都會解析函數體,并創(chuàng)建新的函數對象。如果是在一個循環(huán)或者多次調用的函數中執(zhí)行這個構造函數,執(zhí)行效率會受到影響。相比之下,循環(huán)中的嵌套函數和函數定義表達式則不會每次執(zhí)行時都重新編譯。

  2.最后的一點,也是關于Function()構造函數非常重要的一點,就是它所創(chuàng)建的函數并不使用詞法作用域,相反,函數體代碼的編譯總是會在頂層函數執(zhí)行。看完這一點,上面的函數constructFunction()();返回“global”應該很容易理解了吧?

以上所述是小編給大家介紹的JS Function()構造函數,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網站的支持!

相關文章

  • 微信小程序如何獲取用戶收貨地址

    微信小程序如何獲取用戶收貨地址

    這篇文章主要為大家詳細介紹了微信小程序獲取用戶收貨地址的方法,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-11-11
  • 百度空間的popup效果分析

    百度空間的popup效果分析

    自從用firefox瀏覽器以來,就幾乎養(yǎng)成了一個習慣,就想用WebDeveloper把一些漂亮網站的js包括css給down下來分析一下,用來學習。
    2008-10-10
  • JS實現用戶注冊界面功能

    JS實現用戶注冊界面功能

    這篇文章主要為大家詳細介紹了JS實現用戶注冊界面功能,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-09-09
  • ES6解構賦值的功能與用途實例分析

    ES6解構賦值的功能與用途實例分析

    這篇文章主要介紹了ES6解構賦值的功能與用途,結合實例形式分析了ES6結構賦值針對函數參數、賦值、json等相關操作使用技巧,需要的朋友可以參考下
    2017-10-10
  • 比較精簡的Javascript拖動效果函數代碼

    比較精簡的Javascript拖動效果函數代碼

    比較精簡的Javascript拖動效果函數代碼...
    2007-07-07
  • 淺談javascript函數劫持[轉自xfocus]

    淺談javascript函數劫持[轉自xfocus]

    javascript函數劫持,也就是老外提到的javascript hijacking技術。最早還是和劍心同學討論問題時偶然看到的一段代碼
    2008-02-02
  • zTree獲取當前節(jié)點的下一級子節(jié)點數實例

    zTree獲取當前節(jié)點的下一級子節(jié)點數實例

    下面小編就為大家?guī)硪黄獄Tree獲取當前節(jié)點的下一級子節(jié)點數實例。小編覺得挺不錯的,現在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-09-09
  • 解決uni-app報錯Error:?read?EBADF?at?Pipe?.?onStreamRead...

    解決uni-app報錯Error:?read?EBADF?at?Pipe?.?onStreamRead...

    這篇文章主要介紹了uni-app報錯Error:?read?EBADF?at?Pipe?.?onStreamRead...解決方法,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-08-08
  • 如何解決java.lang.NumberFormatException: null異常

    如何解決java.lang.NumberFormatException: null異常

    這篇文章主要介紹了如何解決java.lang.NumberFormatException: null異常問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-03-03
  • JS時間戳與日期格式的轉換小結

    JS時間戳與日期格式的轉換小結

    這篇文章主要介紹了JS時間戳與日期格式的轉換小結,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友參考下吧
    2024-01-01

最新評論

北宁市| 新闻| 安徽省| 昌都县| 顺昌县| 保定市| 九江市| 玉树县| 汾西县| 津南区| 东源县| 巴林左旗| 汶上县| 伽师县| 平远县| 湖南省| 潜山县| 紫阳县| 永修县| 海林市| 沅江市| 乌拉特中旗| 保靖县| 白玉县| 崇礼县| 奉化市| 新沂市| 诸城市| 呈贡县| 松原市| 扶沟县| 邢台市| 阜阳市| 长宁区| 丹寨县| 藁城市| 娄烦县| 闸北区| 许昌市| 健康| 攀枝花市|