国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

js函數(shù)調(diào)用的方式

2019-11-20 20:43:42
字體:
供稿:網(wǎng)友

Js函數(shù)調(diào)用的方式有如下幾種情況:

(1)具名函數(shù)直接調(diào)用

復制代碼 代碼如下:

function foo()
  {
  }
  foo();

(2)匿名函數(shù)通過引用來調(diào)用

復制代碼 代碼如下:

  fooRef = function()
  {
  }
fooRef();

(3)沒有引用的匿名函數(shù)調(diào)用1

復制代碼 代碼如下:

(function()
 {
}());

(4)沒有引用的匿名函數(shù)調(diào)用2

復制代碼 代碼如下:

 (function()
 {
 })();
 

 (5)沒有引用的匿名函數(shù)調(diào)用3
 

復制代碼 代碼如下:

 void function()
 {

 }();


圖1.1,圖1.2表明了這兩種表達式的運算過程是不一樣的,圖1.1中是用強制運算符使函數(shù)調(diào)用運算得以執(zhí)行,圖1.2中則用強制運算符運算"函數(shù)直接量聲明"這個表達式,并返回一個函數(shù)自身的引用,然后通過函數(shù)調(diào)用運算"()"來操作這個函數(shù)引用。而上面的最后一個匿名函數(shù)調(diào)用void function(){}();則用于調(diào)用函數(shù)并忽略返回值,運算符void用于使其后面的函數(shù)表達式執(zhí)行運算。如果我們不使用"void"與強制運算"()",代碼能否執(zhí)行:

(1)function(){}()  //使用''()"強制調(diào)用

(2)function(){}();  //使用";"來執(zhí)行語句

腳本引擎會認為function(){}是函數(shù)聲明,從而通不過語法檢測,代碼被解析成這樣:

function(){};();

function(){}被作為聲明被解釋,而"();"被獨立成一行來解釋,因而會報語法錯誤,為什么知道是"();"導致的錯誤?我們改成如下代碼:

function(){}(1);

這樣就會被引擎解釋為:

fucntion(){};

(1);  //單值表達式

因而通過了語法檢測...

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 于田县| 桓台县| 车险| 青河县| 阿合奇县| 旌德县| 清远市| 修水县| 新巴尔虎左旗| 清徐县| 泾源县| 汝城县| 宜宾县| 东平县| 延庆县| 开化县| 泰来县| 襄汾县| 芦溪县| 皋兰县| 昭通市| 韶山市| 柳河县| 青海省| 莆田市| 崇文区| 库伦旗| 潮州市| 筠连县| 玉溪市| 阿尔山市| 武冈市| 西峡县| 广宗县| 康定县| 湘乡市| 广州市| 万州区| 湘乡市| 博罗县| 通海县|