千鋒教育-做有情懷、有良心、有品質(zhì)的職業(yè)教育機構(gòu)

當前位置:首頁  >  IT問答庫  >  Java基礎(chǔ)知識

Java作用域

發(fā)布:Java培訓(xùn) 2022-01-20 15:30

Java作用域

推薦答案

      什么是作用域?

      JS中的變量或者函數(shù)能夠被訪問到的代碼空間(變量或者函數(shù)有效的范圍)。

      JavaScript中的作用域:全局作用域; 局部作用域;

      當一個變量在函數(shù)最外層定義時,變量就在全局作用域中,在一個函數(shù)內(nèi)部定義一個變量,這個變量就在局部變量中。

      全局作用域

      最外層函數(shù)或者在其外部定義的變量具有全局作用域。

      var a = 10; //全局變量

      function foo(){ //全局函數(shù)

      console.log(a);

      }

      這個變量a就在全局作用域中,可以說成是個全局變量,這個a可以子啊認可地方訪問或修改。

      還有一點,window對象的屬性和方法具有全局作用域

      Eg:

      alert("dddddd");

      window.alert("aaaa");

      var obj = {

      name:"john",

      age:20,

      sayHello:function(x){

      console.log(x);//輸出undefined//第二次輸出1//第三次輸出aaa(要問我為什么會輸出三次,因為聲明提升的問題,請自行百度)

      }

      };

      console.log(obj.name);//輸出jogn

      obj.sayHello();

      console.log(obj.sayHello(1))//輸出undefined

      obj.sayHello("aaaaa");

      在一個函數(shù)內(nèi)部聲明一個變量不用 var來定義,這個變量具有全局作用域

      function foo(){

      b = 20;

      var a = 10;

      }

      foo();

      console.log(b);

      console.log(a);//a會報錯,因為a 是一個局部變量

      局部作用域

      定義在函數(shù)中的變量就在局部作用域中。并且函數(shù)在每次調(diào)用時都有一個不同的作用域。這意味著同名變量可以用在不同的函數(shù)中。因為這些變量綁定在不同的函數(shù)中,擁有不同作用域,彼此之間不能訪問。(在一個函數(shù)顳部定義的函數(shù)或者用var定義的變量具有局部作用域)

      Eg:

      在ES5中函數(shù)去區(qū)分全局和局部的唯一的代碼塊

      if(true){

      var a = 10;

      }

      for(var i =0; i<=0; i++){

      var b = 10;

      }

      console.log(a,b);//a,b都是輸出10

      函數(shù)的形參具有局部作用域,是局部變量

      function foo(x){

      console.log(x);//輸出undefined

      }

      foo();

      console.log(x);//報錯

      補充一點塊語句

      塊級聲明包括if和switch,以及for和while循環(huán),和函數(shù)不同,它們不會創(chuàng)建新的作用域。在塊級聲明中定義的變量從屬于該塊所在的作用域。

      Eg:

      if(true){

      Var name = “join”;

      }

      Console.log(name)//輸出join

      Es6中引用了let,const關(guān)鍵字,這些關(guān)鍵字可以代替var,但是和var不同的是,let和const具有塊級作用域,也就是說在塊級聲明中創(chuàng)建并使用時,是具有全局作用域的

      在全局作用域聲明的變量可以稱為全局變量,同理還有全局變量,和函數(shù)形參,他們所站的比重是局部變量>函數(shù)形參>全局變量

最新問答資訊

01 unity用什么編程語言?unity學(xué)習(xí)難度大嗎

學(xué)習(xí) unity 語言
6020 人關(guān)注

02 python容易學(xué)嗎?學(xué)好python有什么好處?

學(xué)習(xí) python 工作 培訓(xùn)
5389 人關(guān)注

03 html是什么語言?html學(xué)習(xí)難嗎?

學(xué)習(xí) html 語言 可以
5062 人關(guān)注

04 c語言難學(xué)嗎?c語言學(xué)好要多久?

語言 技術(shù) 學(xué)習(xí)
4733 人關(guān)注

06 學(xué)好平面設(shè)計要多久?報速成班靠譜嗎?

平面 設(shè)計 學(xué)習(xí) 時間
4238 人關(guān)注

相關(guān)問題

Java培訓(xùn)班的課程一般都學(xué)習(xí)什么內(nèi)容

首先是Java技術(shù)的核心和基礎(chǔ)JavaSE,這一階段會接觸到Java基礎(chǔ)語...

學(xué)習(xí)Java有哪些技巧嗎

java作為最經(jīng)典的編程語言之一受到大家的喜愛,不止你我,很多人...

java程序員常用到的技術(shù)有哪些

操作系統(tǒng)、計算機網(wǎng)絡(luò)這些基礎(chǔ)知識,工作之后基本都忘的差不多了...

int和integer有哪些區(qū)別?

int 和 Integer 的基本區(qū)別有如下?點: int 是基本數(shù)據(jù)類型,...

JVM模型的介紹二

JVM模型的介紹二,接著上一篇我們繼續(xù)來分享,棧之本地方法棧。 ...

JVM模型的介紹一

Java培訓(xùn)班教程系列分享JVM模型的介紹一,Java內(nèi)存分配:JVM定義...

測一測
你知道多少IT梗

主站蜘蛛池模板: 国产情侣一区二区三区| 国产成人久久精品麻豆一区| 国产精品亚洲高清一区二区| 一区二区三区国产| 国内精品视频一区二区三区八戒 | 一区二区视频在线免费观看| 久久一区二区精品| 一区二区三区伦理高清| 另类国产精品一区二区| 精品一区二区三区四区| 日亚毛片免费乱码不卡一区| 色妞色视频一区二区三区四区 | 亚洲无删减国产精品一区| 日韩AV无码一区二区三区不卡 | 2014AV天堂无码一区| 日本精品一区二区三区在线视频 | 无码毛片一区二区三区中文字幕| 亚洲性无码一区二区三区| 精品一区二区三区无码免费视频| 中文字幕在线一区| 国产主播福利精品一区二区| 一区二区传媒有限公司| 日韩精品一区二区三区色欲AV| 国产成人无码精品一区在线观看 | 久久国产精品最新一区| 国产精品无码一区二区在线观一| 武侠古典一区二区三区中文| 无码视频免费一区二三区| 波多野结衣一区二区| 中文字幕亚洲综合精品一区| 无码精品国产一区二区三区免费 | 精品国产一区二区三区色欲| 一区二区三区视频网站| 男插女高潮一区二区| 国产麻豆精品一区二区三区v视界| 无码一区二区三区免费视频| 日韩精品一区二区三区四区 | 91一区二区视频| 欧洲精品码一区二区三区免费看 | 一区二区三区视频观看| 精品人妻少妇一区二区三区不卡 |