真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

javascript中函數(shù)有哪些書寫方法

這期內(nèi)容當(dāng)中小編將會(huì)給大家?guī)?lái)有關(guān)javascript中函數(shù)有哪些書寫方法,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

成都創(chuàng)新互聯(lián)公司專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于成都做網(wǎng)站、成都網(wǎng)站制作、成都外貿(mào)網(wǎng)站建設(shè)、龍亭網(wǎng)絡(luò)推廣、微信小程序、龍亭網(wǎng)絡(luò)營(yíng)銷、龍亭企業(yè)策劃、龍亭品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運(yùn)營(yíng)等,從售前售中售后,我們都將竭誠(chéng)為您服務(wù),您的肯定,是我們最大的嘉獎(jiǎng);成都創(chuàng)新互聯(lián)公司為所有大學(xué)生創(chuàng)業(yè)者提供龍亭建站搭建服務(wù),24小時(shí)服務(wù)熱線:18982081108,官方網(wǎng)址:www.cdcxhl.com

1. 常規(guī)寫法:

// 函數(shù)的定義
function foo() {
    alert('常規(guī)寫法');
}
// 函數(shù)的調(diào)用
foo()

這種寫法是大家最熟悉,最易于理解的寫法和調(diào)用方法,接著往下看

2. 匿名函數(shù)寫法

// 函數(shù)的定義
var foo = function(){
    alert('匿名函數(shù)定義');
}
// 函數(shù)的調(diào)用
foo()

這里把功能定義弄成了匿名,省去了命名的痛苦,同時(shí)賦給了一個(gè)變量,變量就成了功能的代名詞,接著看

3. 將方法作為一個(gè)對(duì)象

// 定義
var test = {
    fun1: function(){  },
    fun2: function(){  }
}
// 調(diào)用
test.fun1();
test.fun2();

在Javascript中變量功能很強(qiáng)大,可以代表很多東西。

4. 構(gòu)造函數(shù)中給對(duì)象添加方法

// 給對(duì)象添加方法
var fun = function(){ };  // 定義函數(shù)對(duì)象
fun.prototype.test = function(){ 
    alert('這是在在foo函數(shù)上的原始對(duì)象上添加test方法,構(gòu)造函數(shù)中用到');
}

// 調(diào)用
var myfun = new fun(); // 創(chuàng)建對(duì)象
myfun.test(); // 調(diào)用對(duì)象屬性

通過(guò)prototype關(guān)鍵字添加方法。

5. 自執(zhí)行函數(shù) ( function(){…} )() 和( function(){…} () )

前面講的函數(shù)定義和調(diào)用時(shí)分開的,這里馬上講的定義和執(zhí)行是一起進(jìn)行的。

( function(){…} )() 和( function(){…} () ) 是 兩種javascript立即執(zhí)行函數(shù)的常見(jiàn)寫法,最初我以為是一個(gè)括號(hào)包裹匿名函數(shù),再在后面加個(gè)括號(hào)調(diào)用函數(shù),最后達(dá)到函數(shù)定義后立即執(zhí)行的目的,后來(lái)發(fā)現(xiàn)加括號(hào)的原因并非如此。要理解立即執(zhí)行函數(shù),需要先理解一些函數(shù)的基本概念。

函數(shù)聲明、函數(shù)表達(dá)式、匿名函數(shù)

函數(shù)聲明:function fnName () {…};使用function關(guān)鍵字聲明一個(gè)函數(shù),再指定一個(gè)函數(shù)名,叫函數(shù)聲明。

函數(shù)表達(dá)式var fnName = function () {…};使用function關(guān)鍵字聲明一個(gè)函數(shù),但未給函數(shù)命名,最后將匿名函數(shù)賦予一個(gè)變量,叫函數(shù)表達(dá)式,這是最常見(jiàn)的函數(shù)表達(dá)式語(yǔ)法形式。

匿名函數(shù):function () {}; 使用function關(guān)鍵字聲明一個(gè)函數(shù),但未給函數(shù)命名,所以叫匿名函數(shù),匿名函數(shù)屬于函數(shù)表達(dá)式,匿名函數(shù)有很多作用,賦予一個(gè)變量則創(chuàng)建函數(shù),賦予一個(gè)事件則成為事件處理程序或創(chuàng)建閉包等等。

函數(shù)聲明和函數(shù)表達(dá)式不同之處在于,

一、Javascript引擎在解析javascript代碼時(shí)會(huì)‘函數(shù)聲明提升’(Function declaration Hoisting)當(dāng)前執(zhí)行環(huán)境(作用域)上的函數(shù)聲明,而函數(shù)表達(dá)式必須等到Javascirtp引擎執(zhí)行到它所在行時(shí),才會(huì)從上而下一行一行地解析函數(shù)表達(dá)式,

二、函數(shù)表達(dá)式后面可以加括號(hào)立即調(diào)用該函數(shù),函數(shù)聲明不可以,只能以fnName()形式調(diào)用 。以下是兩者差別的兩個(gè)例子。

// 方式1: ( function(){…} () )
(
     function(){alert('hello world, I am coming');}()
);
// 函數(shù)有參數(shù)的情況,有時(shí)為確保執(zhí)行,前面加;
// 看到別人的插件,你會(huì)發(fā)現(xiàn)人家開頭處加了一個(gè)";",這樣就算頁(yè)面js有錯(cuò)誤,加載運(yùn)行他的插件也能保證運(yùn)行,如:
;(function(e){alert(e);}('hello world'));

// 方式2:( function(){…} )()
(function(){alert('hello');})();

// 有時(shí)在前面加運(yùn)算符,常見(jiàn)的是!與void
!function(){alert('hello');}();
void function(){alert(2);}();

6 $(function(){})寫法

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

$( document ).ready(function() {
   console.log( "ready!" );
});

與如下寫法等價(jià)

$(function() {
   console.log( "ready!" );
});

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

上述就是小編為大家分享的javascript中函數(shù)有哪些書寫方法了,如果剛好有類似的疑惑,不妨參照上述分析進(jìn)行理解。如果想知道更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。


分享標(biāo)題:javascript中函數(shù)有哪些書寫方法
文章URL:http://weahome.cn/article/picpss.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部