国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

JavaScript-函數(shù),作用域

levinit / 1432人閱讀

摘要:定義一個字符串文本內(nèi)容是代碼測試函數(shù)作用將一個字符串類型的代碼轉(zhuǎn)換為真正的代碼,并且執(zhí)行問題安全問題測試作用域變量與函數(shù)都有作用域。作用域就是變量和函數(shù)可以被訪問的范圍,可以分為全局作用域和函數(shù)作用域局部作用域。

函數(shù)

函數(shù)是一段代碼,只能被定義一次,但可以被執(zhí)行或調(diào)用多次

定義函數(shù)

定義函數(shù)的方式有兩種

/*
* 字面量/直接量方式
* var 函數(shù)名稱=function(){
*        函數(shù)體
* }//定義函數(shù)時,函數(shù)體內(nèi)容不會被執(zhí)行
* */
/*   var name =function () {
    console.log("這是一個函數(shù)")
};
   fun();//調(diào)用函數(shù),才能執(zhí)行函數(shù)體內(nèi)容*/

/*
* 函數(shù)聲明方式
* function 函數(shù)名稱(){
*     函數(shù)體
* }
*/
 function fun(){
     console.log("這是一個函數(shù)")
 }
函數(shù)的參數(shù)
/*   定義函數(shù)
   function 函數(shù)名稱(形參){
        函數(shù)體
    }
*  定義函數(shù)時的參數(shù)是形參
*  形參類似于一個變量
*  形參默認為未定義任何指時->undefined
*///形參允許定義多個,使用逗號分開
   function fun(a,b,c) {//在函數(shù)中定義一個變量,但未初始化值
       console.log(a+b,c)
   }
/*
* 調(diào)用函數(shù)
* 函數(shù)名稱(實參)
* 函數(shù)的調(diào)用->實參(值)*/
   fun(23,100);//為函數(shù)中定義的變量初始化值
/*
    形參與實參
    * 形參的個數(shù)與實參可以是一致的
      * 形參的個數(shù)多于實參的個數(shù) -> 多余的形參沒有值(默認為 undefined)
      * 實參的個數(shù)多余形參的個數(shù) -> 多余的實參沒有對應(yīng)的形參
    * 形參與實參根據(jù)占位符進行一一對應(yīng)
 */
return語句

函數(shù)可以包含一個返回語句(return),這不是必須的,return使函數(shù)可以作為一個值使用

/*  函數(shù)的return語句
*  并不是必要的
*  作用:作為函數(shù)的返回值
*  用法:一般在函數(shù)的最后面,但并不強制
*  */
function fun(){
    console.log("這是一個函數(shù)");
    return 23;
}
fun();//這是一個函數(shù)
console.log(fun());//這是一個函數(shù)/23
console.log(fun);//[Function:fun]

/*   return語句
*   可以吧在函數(shù)的最后面
*   但return之后的代碼不會再執(zhí)行
*   當(dāng)return并未設(shè)置值時,結(jié)果為undefined*/
function fn(){
    console.log("這是return語句之前...");
    return;
    console.log("這是return語句之后...");
}
var result = fn();
console.log(result);//這是return語句之前.../undefined
預(yù)定義函數(shù)

JavaScript預(yù)定義了一組函數(shù),又稱為全局函數(shù),可以直接使用

eval()函數(shù)

eval()函數(shù)用于執(zhí)行以字符串形式(Sting)出現(xiàn)的JavaScript代碼。

// 定義一個字符串 - 文本內(nèi)容是JavaScript代碼
var str = "console.log("測試...")";
// console.log(str);
/*
    eval()函數(shù)
    * 作用 - 將一個字符串類型的JavaScript代碼轉(zhuǎn)換為真正的JavaScript代碼,并且執(zhí)行
    * 問題 - 安全問題
 */
eval(str);//測試
作用域

變量與函數(shù)都有作用域。作用域就是變量和函數(shù)可以被訪問的范圍,可以分為全局作用域和函數(shù)作用域(局部作用域)。
定義在全局作用域,可以在任何位置訪問,局部作用域只能在指定函數(shù)內(nèi)部訪問

變量的作用域
/*  全局作用域(函數(shù)作用域之外的范圍)-全局變量
     全局變量的作用域->全局作用域+函數(shù)作用域
*   */
var v1 = 23;
console.log(v1);

function fun() {
    /*   函數(shù)作用域-局部變量
*    局部變量的作用域-當(dāng)前函數(shù)內(nèi)部
*    */
    var v2 = 100
    console.log(v1)
    console.log(v2)
}
fun();//23/100
//全局作用域不能訪問局部作用域
console.log(v2);//v2 is not defined
聲明提前

可以先引用變量再聲明變量,因為變量的聲明會被默認在函數(shù)和語句之前,相當(dāng)于先聲明了一個變量但為初始化值,輸出為undefinef

console.log(v1);//undefined
var v1 = 100;
console.log(v1);//100
按值傳遞

按值傳遞就是講實參變量復(fù)制一份傳遞給形參變量,實參不變

/*定義一個全局變量*/
var v1 = 23;
/*定義一個函數(shù)*/
function fun(v1){
    v1++;
    console.log(v1)//24
}
/*調(diào)用指定函數(shù),實參傳遞的是全局變量的值*/
fun(v1);//24
/*調(diào)用指定全局變量*/
console.log(v1);//23

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

轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/96892.html

相關(guān)文章

  • JavaScript深入之詞法作用和動態(tài)作用

    摘要:作用域作用域是指程序源代碼中定義變量的區(qū)域。采用詞法作用域,也就是靜態(tài)作用域。而與詞法作用域相對的是動態(tài)作用域,函數(shù)的作用域是在函數(shù)調(diào)用的時候才決定的。前面我們已經(jīng)說了,采用的是靜態(tài)作用域,所以這個例子的結(jié)果是。 JavaScript深入系列的第二篇,JavaScript采用詞法作用域,什么語言采用了動態(tài)作用域?兩者的區(qū)別又是什么?還有一個略難的思考題,快來看看吧。 作用域 作用域是指...

    gclove 評論0 收藏0
  • 理解JavaScript的核心知識點:作用

    摘要:也毫不例外,但在中作用域的特性與其他高級語言稍有不同,這是很多學(xué)習(xí)者久久難以理清的一個核心知識點。主要使用的是函數(shù)作用域。 關(guān)于作用域:About Scope 作用域是程序設(shè)計里的基礎(chǔ)特性,是作用域使得程序運行時可以使用變量存儲值、記錄和改變程序的狀態(tài)。JavaScript 也毫不例外,但在 JavaScript 中作用域的特性與其他高級語言稍有不同,這是很多學(xué)習(xí)者久久難以理清的一個核...

    HelKyle 評論0 收藏0
  • 深入學(xué)習(xí)js之——詞法作用和動態(tài)作用

    摘要:在中的應(yīng)用采用詞法作用域,也就是靜態(tài)作用域。那什么又是詞法作用域或者靜態(tài)作用域呢請繼續(xù)往下看靜態(tài)作用域與動態(tài)作用域因為采用的是詞法作用域函數(shù)的作用域在函數(shù)定義的時候就決定了。 開篇 當(dāng)我們在開始學(xué)習(xí)任何一門語言的時候,都會接觸到變量的概念,變量的出現(xiàn)其實是為了解決一個問題,為的是存儲某些值,進而,存儲某些值的目的是為了在之后對這個值進行訪問或者修改,正是這種存儲和訪問變量的能力將狀態(tài)給...

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

    摘要:講作用域鏈首先要從作用域講起,下面是百度百科里對作用域的定義作用域在許多程序設(shè)計語言中非常重要。原文出處談?wù)務(wù)Z法里一些難點問題二 3) 作用域鏈相關(guān)的問題 作用域鏈是javascript語言里非常紅的概念,很多學(xué)習(xí)和使用javascript語言的程序員都知道作用域鏈是理解javascript里很重要的一些概念的關(guān)鍵,這些概念包括this指針,閉包等等,它非常紅的另一個重要原因就...

    Enlightenment 評論0 收藏0
  • JavaScript作用和閉包

    摘要:依然持有對該作用域的引用,而這個引用就叫作閉包。循環(huán)和閉包正常情況下,我們對這段代碼行為的預(yù)期是分別輸出數(shù)字,每秒一次,每次一個。 一、作用域 作用域共有兩種主要的工作模型:第一種是最為普遍的,被大多數(shù)編程語言所采用的詞法作用域,另外一種叫作動態(tài)作用域; JavaScript所采用的作用域模式是詞法作用域。 1.詞法作用域 詞法作用域意味著作用域是由書寫代碼時函數(shù)聲明的位置來決定...

    animabear 評論0 收藏0

發(fā)表評論

0條評論

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