成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

JavaScript 之 核心語法 [ 函數(shù)和作用域 ]

joy968 / 487人閱讀

摘要:函數(shù)描述表示定義一段代碼,并且可重復(fù)使用函數(shù)的定義函數(shù)聲明方式字面量表達(dá)方式函數(shù)聲明方式語法函數(shù)名稱小括號不可省去函數(shù)體函數(shù)聲明方式在定義函數(shù)時,函數(shù)體中的內(nèi)容不會被執(zhí)行啞吼吼調(diào)用函數(shù)使用函數(shù)名稱調(diào)用函數(shù)的時候會執(zhí)行函數(shù)體中的內(nèi)容字面量方

函數(shù) 描述

表示定義一段JavaScript代碼,并且可重復(fù)使用

函數(shù)的定義

函數(shù)聲明方式

字面量表達(dá)方式

函數(shù)聲明方式 語法
function 函數(shù)名稱( )"小括號不可省去" {
      函數(shù)體
}
/* 函數(shù)聲明方式 */
function fun() {
    /* 在定義函數(shù)時,函數(shù)體中的內(nèi)容不會被執(zhí)行 */
    console.log( "啞吼吼" );
}
/*
    調(diào)用函數(shù) - 使用函數(shù)名稱
     * 調(diào)用函數(shù)的時候會執(zhí)行函數(shù)體中的內(nèi)容
 */
fun();
字面量方式 語法
var 函數(shù)名 = function( )"小括號不可省去" {
      函數(shù)體
}
/* 字面量方式 */
var fn = function() {
    /* 在定義函數(shù)時,函數(shù)體中的內(nèi)容不會被執(zhí)行 */
    console.log( "吼啞啞" );
}
/*
    調(diào)用函數(shù) - 使用函數(shù)名稱
     * 調(diào)用函數(shù)的時候會執(zhí)行函數(shù)體中的內(nèi)容
 */
fn();
函數(shù)的參數(shù) 描述

表示定義函數(shù)時在函數(shù)名稱中使用的定義( 小括號中的 )

參數(shù)只能在函數(shù)中使用

參數(shù)分為

形參 - 定義函數(shù)時使用的參數(shù)

實參 - 調(diào)用函數(shù)時使用的參數(shù)

/* 定義函數(shù) - 形參 */
function fun( a, b ){
    /*
        在參數(shù)中:
        形參與實參個數(shù)相對應(yīng)
        * 形參的個數(shù)多于實參個數(shù)時,沒有對應(yīng)實參的形參會顯示 undefined
        * 實參的個數(shù)多于形參個數(shù)時,沒有對應(yīng)形參的實參會沒有顯示
     */
    console.log( a, b );// 顯示效果:a=1,b=2
}
/* 調(diào)用函數(shù) - 實參 */
fun( 1, 2 );
return語句

表示函數(shù)在調(diào)用結(jié)束后具有一個返回值

return語句并不是必要的

return語句一般會被編寫在函數(shù)體的最后面

如果不在函數(shù)體的最后面,return語句之后的代碼將不會被執(zhí)行

return語句帶有值會顯示值,如果沒有值會顯示 undefined

function fun(){
    console.log( "啊哈哈" );
    return 100;
}
/* 調(diào)用函數(shù) */
fun();// 顯示 啊哈哈
/* 將函數(shù)的返回值 賦值到變量中 */
var funs = fun();
/* 顯示返回值 */
console.log( funs );// 顯示 100

/* return語句不在函數(shù)體最后 */
function fn(){
    console.log( "啊哈哈" );
    return;
    console.log( "呀吼吼吼" );
}
fn();// 顯示 啊哈哈
var fns = fn();
console.log( fns );// 顯示 undefined
作用域

變量和函數(shù)都具有作用域,用于顯示可被顯示訪問的區(qū)域

作用域分為(變量和函數(shù)一樣):全局作用域和局部作用域(函數(shù)作用域)

全局作用域:表示在函數(shù)之外的所有區(qū)域

局部作用域(函數(shù)作用域):表示在函數(shù)之內(nèi)的區(qū)域

全局變量和局部變量 全局變量

是指在全局作用域中定義的變量

該變量可以同時作用在全局作用域和局部作用域(函數(shù)作用域)

局部變量

是指在函數(shù)內(nèi)的變量

局部變量只能作用在當(dāng)前函數(shù)中

/* 作用在全局作用域 */
var num = 100;
console.log( num );
/* 同時作用在局部作用域 */
function fun() {
    console.log( num );
}
fun();

/* 定義全局變量 */
var num1 = 100;
function fn() {
    console.log( num1 );
    /* 定義局部變量 - 只能作用于當(dāng)前函數(shù) */
    var num2 = 100;
    console.log( num2 );
}
fn();
/* 在全局作用域調(diào)用局部變量會報錯 */
console.log( num2 );// 顯示 num2 is not define
函數(shù)和內(nèi)部函數(shù) 函數(shù)(全局函數(shù))

是指在全局作用域中定義的函數(shù)

該函數(shù)可以同時作用在全局作用域和局部作用域(函數(shù)作用域)

內(nèi)部函數(shù)(私有函數(shù))

是指在函數(shù)內(nèi)的函數(shù)

內(nèi)部函數(shù)只能作用在當(dāng)前函數(shù)中

/* 定義全局函數(shù) */
function fun(){
    console.log( "啊哈哈" );
    /* 定義內(nèi)部函數(shù) */
    function fu(){
        console.log( "呀吼吼" );
    }
    fu();
}
/* 全局作用域 */
fun();
/* 在全局作用域調(diào)用內(nèi)部函數(shù)會報錯 */
fu();// 顯示 fu is not defined

/* 定義另一個全局函數(shù) */
function fn(){
    /* 函數(shù)中可以調(diào)用全局函數(shù) */
    fun();
    /* 無法調(diào)用另一個函數(shù)的內(nèi)部函數(shù) - 會報錯 */
    fu();// 顯示 fu is not defined
}
fn();
聲明提前

表示在使用變量時,先調(diào)用變量,在對變量進(jìn)行定義

語法不會報錯,會顯示 undefined

/* 先調(diào)用未定義的變量,在隨后定義,語法不會報錯,會顯示 undefined */
console.log( s );//顯示結(jié)果:undefined
var s ;//調(diào)用后定義
/* 重新定義并賦值 */
var s = 100;
/* 顯示效果 */
console.log( s );// 100
按值傳遞

是指將函數(shù)實參的變量值賦值給函數(shù)形參,使實參和輸出結(jié)果一樣

在對局部變量進(jìn)行修改時,不會修改全局變量

/* 全局變量 */
var s = 100;
function f ( s ) {
    s++;// 修改局部變量
    return s;// 返回數(shù)值
}
/* 定義變量顯示返回值 */
var ss = f( s );
/* 顯示函數(shù)輸出效果 */
console.log( ss );// 101
/* 顯示全局變量 */
console.log( s );// 100

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/96889.html

相關(guān)文章

  • JavaScript核心語法作用

    摘要:作用域一作用域是什么就是變量和函數(shù)所被訪問范圍,控制變量和函數(shù)的可見性和生命周期作用域分為全局作用域和局部作用域全局作用域是指在所有函數(shù)之外聲明的變量,因為當(dāng)前文檔中的其他代碼可以訪問它局部作用域是指在函數(shù)內(nèi)部聲明的變量,因為該函數(shù)只能在它 JS(JavaScript)作用域;一.作用域是什么;就是變量和函數(shù)所被訪問范圍,控制變量和函數(shù)的可見性和生命周期作用域分為全局作用域和局部作用域...

    huashiou 評論0 收藏0
  • JavaScript 闖關(guān)記

    摘要:對象數(shù)組初始化表達(dá)式,闖關(guān)記之上文檔對象模型是針對和文檔的一個。闖關(guān)記之?dāng)?shù)組數(shù)組是值的有序集合。數(shù)組是動態(tài)的,根闖關(guān)記之語法的語法大量借鑒了及其他類語言如和的語法。 《JavaScript 闖關(guān)記》之 DOM(下) Element 類型 除了 Document 類型之外,Element 類型就要算是 Web 編程中最常用的類型了。Element 類型用于表現(xiàn) XML 或 HTML 元素...

    mj 評論0 收藏0
  • 這一次,我們換種姿勢學(xué)習(xí) javascript

    摘要:操作符或調(diào)用函數(shù)時傳入?yún)?shù)的操作都會導(dǎo)致關(guān)聯(lián)作用域的賦值操作。此外可以使用和來設(shè)置對象及其屬性的不可變性級別。忽視這一點會導(dǎo)致許多問題。使用調(diào)用函數(shù)時會把新對象的屬性關(guān)聯(lián)到其他對象。 前言 《你不知道的 javascript》是一個前端學(xué)習(xí)必讀的系列,讓不求甚解的JavaScript開發(fā)者迎難而上,深入語言內(nèi)部,弄清楚JavaScript每一個零部件的用途。本書介紹了該系列的兩個主題:...

    zone 評論0 收藏0
  • 談?wù)?em>javascript語法里一些難點問題(一)

    摘要:引子前不久我建立的技術(shù)群里一位問了一個這樣的問題,她貼出的代碼如下所示執(zhí)行結(jié)果如下所示第一個第二個這是一個令人詫異的結(jié)果,為什么第一個彈出框顯示的是,而不是呢這種疑惑的原理我描述如下一個頁面里直接定義在標(biāo)簽下的變量是全局變量即屬于對象的變量 1) 引子 前不久我建立的技術(shù)群里一位MM問了一個這樣的問題,她貼出的代碼如下所示: var a = 1; function hehe...

    huaixiaoz 評論0 收藏0
  • JS核心作用

    摘要:作用域鏈在執(zhí)行上下文創(chuàng)建的時候,在變量對象之后創(chuàng)建作用域鏈,作用域鏈本身就包含變量對象,當(dāng)函數(shù)被調(diào)用的時候,作用域鏈包含的是激活對象。我們可以用這個屬性來假定作用域鏈的連接,它指的是鏈中的下一個對象。 什么是作用域 作用域是運行代碼中某些特定部分的變量,函數(shù)和對象的可訪問性及生命周期 javascript中的作用域 在javascript中有兩種類型的作用域1.全局作用域2.局部作用域...

    Alan 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<