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

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

Java作用域

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

Java作用域

推薦答案

      什么是作用域?

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

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

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

      全局作用域

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

      var a = 10; //全局變量

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

      console.log(a);

      }

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

      還有一點,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);//報錯

      補(bǔ)充一點塊語句

      塊級聲明包括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)、計算機(jī)網(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梗

主站蜘蛛池模板: 亚洲欧美日韩中文字幕一区二区三区 | 亚洲码一区二区三区| 3D动漫精品一区二区三区| 日本在线视频一区| 国产精品制服丝袜一区| 无码精品国产一区二区三区免费 | 美女视频黄a视频全免费网站一区| 日产亚洲一区二区三区| 色偷偷av一区二区三区| 夜色福利一区二区三区| 久久91精品国产一区二区| 亲子乱AV视频一区二区| 国产在线aaa片一区二区99| 丰满爆乳一区二区三区| 久久久久久综合一区中文字幕| 韩国福利一区二区三区高清视频 | 国产伦精品一区二区三区不卡| 精品一区二区三区在线播放视频| 一区二区三区四区精品视频| 国产一区二区三区免费| 风间由美性色一区二区三区 | 日本一区二区三区四区视频| 好爽毛片一区二区三区四无码三飞| 精品国产一区二区三区香蕉| 国产乱人伦精品一区二区在线观看| 综合一区自拍亚洲综合图区| 国产一区二区三区在线电影| 国产vr一区二区在线观看| 久久99久久无码毛片一区二区| 久久99精品免费一区二区| 国产成人精品无码一区二区三区| 久久国产精品一区免费下载 | 无码人妻精品一区二区三区东京热| 久久一区二区明星换脸| 无码精品尤物一区二区三区| 国产成人一区二区三区精品久久 | 国产精品无码一区二区三级| 精品人无码一区二区三区| 亚洲av色香蕉一区二区三区蜜桃| 国产精品免费综合一区视频| 国产品无码一区二区三区在线蜜桃|