日韩精品在线看_黄色成人美女网站_偷窥自拍亚洲色图精选_五月激情综合

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

當前位置:首頁  >  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梗

主站蜘蛛池模板: 日土县| 东宁县| 华池县| 江华| 太保市| 砀山县| 白山市| 林口县| 阜新| 囊谦县| 偃师市| 平度市| 滁州市| 房产| 赤壁市| 武川县| 衡东县| 大连市| 宁陵县| 山阳县| 宁安市| 曲沃县| 韶关市| 西平县| 澄江县| 靖州| 天峨县| 新化县| 微山县| 建湖县| 中阳县| 仁布县| 岳阳县| 瑞昌市| 社会| 江津市| 石首市| 油尖旺区| 九寨沟县| 祁东县| 安阳市|