日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

js 里面的 function 与 Function

發布時間:2023/12/15 综合教程 35 生活家
生活随笔 收集整理的這篇文章主要介紹了 js 里面的 function 与 Function 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

function 是 js 的標識符

Function 是 js 里面的一個 構造函數

1、new function 與 new Function 的區別

  new 運算符在 js 里面是 創建一個自定義的對象的實例 或者是 一個具有構造函數的本地對象的實例。

    語法:new constructor [ ( [ arguments ] ) ]

  new function() {......} 初始化一個可操作對象,相當于 new function 匿名函數() {......}

  

  new Function('參數', '函數體') 是實例化一個函數,相當于 function 函數名() {......}

  

2、立即執行函數 ( function(){...} () ) 和 ( function(){...} )()

// 1、
// 定義一個命名函數 a 并調用,正常運行
function a(){}a()
// 2、
// 2 假設使用匿名函數的方式呢?
function (){}() 
//這種方式會報錯:Uncaught SyntaxError: Unexpected token (
// 3、
//按到如上思路測試,尋找 2 報錯的原因
function () {}
// 3 會報錯,與 2 報錯相同:Uncaught SyntaxError: Unexpected token (
// 4、
();
// 4 會報錯:Uncaught SyntaxError: Unexpected token )
// 5、
(1);
// 5 不會報錯正常運行
// 6、
(function(){});
// 6 不會報錯正常運行

可以看出,上述現象報錯的原因都是:語法錯誤。究其原因發現是因為 ()運算符 的優先級高于 函數調用,而 () 運算符的括號內必須有表達式,否則就會有語法錯誤。

因此可以用 (function(){})() 的形式定義一個自調用的匿名函數

//1、
(1+2)(5+6);
//在進行如上表達式運算的時候,會報錯:Uncaught TypeError: 3 is not a function,也就是說如果第一個表達式是一個 function 的話,就會正常運行。
//2、所以在保證整個運算為表達式運算的情況下,第一個子表達式為 function,則得出如下寫法
(function(){}());
// 2 正常運行不會報錯
// 3、因此可以得出如下寫法也都是正確的
!function(){};
+function(){};
-function(){};
~function(){};
......

總結

以上是生活随笔為你收集整理的js 里面的 function 与 Function的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。