扒开老师双腿猛进入白浆小说,熟女人妻私密按摩内射,成人A片激情免费视频,亚洲欧洲AV无码区玉蒲区

在線客服與您一對(duì)一交流
當(dāng)前位置: 主頁(yè) > 行業(yè)新聞 > IT技術(shù) >

!function foo()、(function(){}())與(function(){})()

1. (function(){}())與(function(){})()

這兩種寫法,都是一種 立即執(zhí)行函數(shù) 的寫法,即IIFE (Immediately Invoked Function Expression)。這種函數(shù)在函數(shù)定義的地方就直接執(zhí)行了。

通常的函數(shù)聲明和調(diào)用分開(kāi)的寫法如下:

function foo() {/*...*/}     // 這是定義,Declaration;定義只是讓解釋器知道其存在,但是不會(huì)運(yùn)行。

foo();                   // 這是語(yǔ)句,Statement;解釋器遇到語(yǔ)句是會(huì)運(yùn)行它的。

普通的函數(shù)聲明function foo(){}是不會(huì)執(zhí)行的。這里如果直接這樣寫function foo(){}()解釋器會(huì)報(bào)錯(cuò)的,因?yàn)槭清e(cuò)誤的語(yǔ)法。

IIFE函數(shù)的調(diào)用方式通常是將函數(shù)表達(dá)式、它的調(diào)用操作符、分組操作符放到一個(gè)括號(hào)內(nèi),來(lái)告訴解釋器這里有一個(gè)需要立即執(zhí)行的函數(shù)。否則通常情況下,解析器遇到一個(gè)function關(guān)鍵字,都會(huì)把它當(dāng)做是一個(gè)函數(shù)聲明,而不是函數(shù)表達(dá)式。

如下幾種寫法都是可以的:

(function foo(){/*...*/}());

(function foo(){/*...*/})();

!function foo() {/*...*/}();

+function foo() {/*...*/}();

-function foo() {/*...*/}();

~function foo() {/*...*/}();

在需要表達(dá)式的場(chǎng)景下,就不需要用括號(hào)括起來(lái)了:

void function(){/*...*/}();

var foo = function(){/*...*/}(); 

true && function () { /*...*/ }();

0, function () { /*...*/ }();

void聲明了不需要返回值,第二個(gè)則將IIFE函數(shù)的返回值賦給了foo。第三、第四個(gè)都是明確需要表達(dá)式的場(chǎng)景,所以解析器會(huì)認(rèn)識(shí)這種寫法。

 

對(duì)于IIFE函數(shù),也可以給它們傳入?yún)?shù),例如:

(function foo(arg1,arg2,...){...}(param1,param2,...));

對(duì)于常見(jiàn)的

(function( $ ){...})(jQuery);

即是將實(shí)參jQuery傳入函數(shù)function( $ ){},通過(guò)形參 $ 接收。

上述函數(shù)中,最開(kāi)始的那個(gè)括號(hào),可能會(huì)由于js中自動(dòng)分號(hào)插入機(jī)制而引發(fā)問(wèn)題。例如:

a  =  b  +  c 

;(function  () { 

  // code 

})();

如果沒(méi)有第二行的分號(hào),那么該處有可能被解析為c()而開(kāi)始執(zhí)行。所以有的時(shí)候,可能會(huì)看到這樣的寫法:;(function foo(){/…/}()),前邊的分號(hào)可以認(rèn)為是防御型分號(hào)。

 

2. 第二類是$(function(){});

(function()/.../);是(function()/.../);是(document).ready(function(){/…/})的簡(jiǎn)寫形式,是在DOM加載完成后執(zhí)行的回調(diào)函數(shù),并且只會(huì)執(zhí)行一次。

$( document ).ready(function() {

   console.log( "ready!" );

});   

$(function() {

   console.log( "ready!" );

});

起到的效果完全一樣。

在一個(gè)頁(yè)面中不同的js中寫的$(function(){/…/});函數(shù),會(huì)根據(jù)js的排列順序依次執(zhí)行。

相關(guān)文章:

  • 帝國(guó)CMS是什么程序 帝國(guó)CMS是一套開(kāi)源的靜態(tài)頁(yè)面程序,憑借超高的擴(kuò)展性,很多知名的新聞?wù)军c(diǎn)、行業(yè)站點(diǎn)都是應(yīng)用的帝國(guó)CMS后端。因?yàn)榈蹏?guó)CMS和dedecms一樣都是生成靜態(tài)頁(yè)面的,所以非常利于...

  • 域名解析DNS分為顯性URL和隱形URL,顯性URL和隱形URL有什么區(qū)別?隱形URL和顯性URL哪個(gè)更有利于SEO?顯性URL相當(dāng)于域名了302重定向,隱形URL使用iframe框架技術(shù)隱藏真實(shí)目標(biāo)地址,顯性URL更有利于...

  • 在常見(jiàn)的CMS系統(tǒng)中,我對(duì)dedecms算是比較熟悉的,自己網(wǎng)站用的也是這個(gè)系統(tǒng)。系統(tǒng)功能強(qiáng)大使用靈活,相信這也是它受到大多數(shù)中小站長(zhǎng)青睞的原因。 再好的系統(tǒng)也有照顧不周的地方,很多站...

  • 這篇文章主要為大家詳細(xì)介紹了dedecms后臺(tái)增加php導(dǎo)出excel功能實(shí)現(xiàn)辦法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,有需要的朋友可以收藏方便以后借鑒。 不少朋友希望織夢(mèng)的后臺(tái)...

  • 第一次使用的插件是 pdfobject.js 百度網(wǎng)盤下載地址:http://pan.baidu.com/s/1kUPhYdT 加載 script src=/style/js/pdfobject.js /script script type=text/javascript window.onload = function (){ var success = new PDFObject({ url: pdf文件地...

  • 網(wǎng)上有一種方法是copy+unlink來(lái)移動(dòng)文件,但是遇到大文件時(shí)會(huì)消耗大量時(shí)間,對(duì)性能不怎么友好,可以使用rename()來(lái)移動(dòng)文件,速度非???關(guān)于rename()函數(shù) bool rename ( string $oldname , string $newname...

  • 基于我們公司可選的幾種推廣方式: 一、關(guān)鍵詞優(yōu)化排名推廣(推薦) 指定關(guān)鍵詞推廣,按天付費(fèi),推廣我們業(yè)務(wù)中最重要的一些關(guān)鍵詞,達(dá)到百度首頁(yè)才收費(fèi),大概一個(gè)關(guān)鍵詞10元/天左右。...

  • 插件介紹 wordpress程序網(wǎng)站在發(fā)布文章時(shí)可以給每一片文章添加與之相關(guān)的TAG標(biāo)簽,對(duì)于TAG標(biāo)簽可以生成很多頁(yè)面,增加搜索引擎對(duì)內(nèi)容的抓取量。 WP Auto Keywords插件就是一款能自動(dòng)給文章添加...

  • 5.7 生成列表頁(yè) 改動(dòng) include/arc.listview.class.php 1.先設(shè)置 關(guān)閉副欄目(在系統(tǒng)----系統(tǒng)基本參數(shù)性能選項(xiàng)里) 2.一般網(wǎng)站不需要 欄目交叉 交叉 所以 找到94行注釋掉: //獲得交叉欄目ID /*if($this-Type...

  • 使用preg_replace將刪除所有空白(包括制表符等) $string = user na me $string = preg_replace(/\s+/, , $string); echo $string; // username preg_replace(/\s/u, ,$string) u (PCRE8) 此修正符打開(kāi)一個(gè)與perl不兼容的附加功能. 模式...

  • 公司:西安蟠龍網(wǎng)絡(luò)科技有限公司
  • 聯(lián)系人:張經(jīng)理
  • 手機(jī)/微信:
  • Q Q: 點(diǎn)擊這里給我發(fā)消息
  • 地址:西安市雁塔區(qū)唐延南路11號(hào)逸翠園i都會(huì)