千鋒教育-做有情懷、有良心、有品質的職業教育機構

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

Java作用域

發布:Java培訓 2022-01-20 15:30

Java作用域

推薦答案

      什么是作用域?

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

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

      當一個變量在函數最外層定義時,變量就在全局作用域中,在一個函數內部定義一個變量,這個變量就在局部變量中。

      全局作用域

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

      var a = 10; //全局變量

      function foo(){ //全局函數

      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");

      在一個函數內部聲明一個變量不用 var來定義,這個變量具有全局作用域

      function foo(){

      b = 20;

      var a = 10;

      }

      foo();

      console.log(b);

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

      局部作用域

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

      Eg:

      在ES5中函數去區分全局和局部的唯一的代碼塊

      if(true){

      var a = 10;

      }

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

      var b = 10;

      }

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

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

      function foo(x){

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

      }

      foo();

      console.log(x);//報錯

      補充一點塊語句

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

      Eg:

      if(true){

      Var name = “join”;

      }

      Console.log(name)//輸出join

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

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

最新問答資訊

01 unity用什么編程語言?unity學習難度大嗎

學習 unity 語言
6020 人關注

02 python容易學嗎?學好python有什么好處?

學習 python 工作 培訓
5389 人關注

03 html是什么語言?html學習難嗎?

學習 html 語言 可以
5062 人關注

04 c語言難學嗎?c語言學好要多久?

語言 技術 學習
4733 人關注

06 學好平面設計要多久?報速成班靠譜嗎?

平面 設計 學習 時間
4238 人關注

相關問題

Java培訓班的課程一般都學習什么內容

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

學習Java有哪些技巧嗎

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

java程序員常用到的技術有哪些

操作系統、計算機網絡這些基礎知識,工作之后基本都忘的差不多了...

int和integer有哪些區別?

int 和 Integer 的基本區別有如下?點: int 是基本數據類型,...

JVM模型的介紹二

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

JVM模型的介紹一

Java培訓班教程系列分享JVM模型的介紹一,Java內存分配:JVM定義...

測一測
你知道多少IT梗

主站蜘蛛池模板: 国产AV一区二区精品凹凸 | 国产亚洲一区二区三区在线| 国产精品va无码一区二区| 久久久久久一区国产精品| 综合人妻久久一区二区精品| 国产精品无码AV一区二区三区| 精品欧美一区二区在线观看 | 怡红院美国分院一区二区| 国产裸体舞一区二区三区| 在线观看午夜亚洲一区| 亚洲一区二区无码偷拍| 精品视频一区二区三区四区五区| 无码视频一区二区三区在线观看| 国产成人精品视频一区| 久久精品国产亚洲一区二区三区| 亚洲国产一区视频| 国产精品无码一区二区三级| 国产一区二区在线看| 日本一区中文字幕日本一二三区视频 | 福利在线一区二区| 成人区精品一区二区不卡亚洲| 高清国产AV一区二区三区| 一区二区三区美女视频| 精品国产AV无码一区二区三区| 中文字幕乱码人妻一区二区三区| 日韩精品无码一区二区三区AV | 亚洲国产系列一区二区三区| 亚洲色婷婷一区二区三区| 国产一区二区精品久久凹凸| 国产精品一区二区三区高清在线| 国产一区二区成人| 无码一区二区三区爆白浆| 亚洲国产欧美国产综合一区| 黑巨人与欧美精品一区| 精品国产一区二区三区香蕉事 | 韩国精品一区视频在线播放| 日本一区二三区好的精华液 | 高清在线一区二区| 欧洲精品无码一区二区三区在线播放| 国产成人精品一区二三区在线观看| 国产高清精品一区|