免费可以看的无遮挡av无码|国产在线拍揄自揄视频网站|在线无码精品视频播放在|欧美亚洲国产成人精品,国产成人久久77777精品,亚洲欧美视频在线观看,色偷偷色噜噜狠狠网站久久

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

手機(jī)站
千鋒教育

千鋒學(xué)習(xí)站 | 隨時(shí)隨地免費(fèi)學(xué)

千鋒教育

掃一掃進(jìn)入千鋒手機(jī)站

領(lǐng)取全套視頻
千鋒教育

關(guān)注千鋒學(xué)習(xí)站小程序
隨時(shí)隨地免費(fèi)學(xué)習(xí)課程

當(dāng)前位置:首頁  >  技術(shù)干貨  > 淺談JavaScript作用域

淺談JavaScript作用域

來源:千鋒教育
發(fā)布人:Yolanda
時(shí)間: 2019-01-04 15:27:00 1546586820

  什么是作用域?

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

  JavaScript中的作用域

  全局作用域;

  局部作用域;

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

圖片1

  全局作用域

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

  var a = 10; //全局變量

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

  console.log(a);

  }

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

  還有一點(diǎn),window對(duì)象的屬性和方法具有全局作用域

  Eg:

  alert("dddddd");

  window.alert("aaaa");

  var obj = {

  name:"john",

  age:20,

  sayHello:function(x){

  console.log(x);//輸出undefined//第二次輸出1//第三次輸出aaa(要問我為什么會(huì)輸出三次,因?yàn)槁暶魈嵘膯栴},請自行百度)

  }

  };

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

  obj.sayHello();

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

  obj.sayHello("aaaaa");

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

  function foo(){

  b = 20;

  var a = 10;

  }

  foo();

  console.log(b);

  console.log(a);//a會(huì)報(bào)錯(cuò),因?yàn)閍 是一個(gè)局部變量

  局部作用域

  定義在函數(shù)中的變量就在局部作用域中。并且函數(shù)在每次調(diào)用時(shí)都有一個(gè)不同的作用域。這意味著同名變量可以用在不同的函數(shù)中。因?yàn)檫@些變量綁定在不同的函數(shù)中,擁有不同作用域,彼此之間不能訪問。(在一個(gè)函數(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ào)錯(cuò)

  補(bǔ)充一點(diǎn)塊語句

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

  Eg:

  if(true){

  Var name = “join”;

  }

  Console.log(name)//輸出join

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

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

tags:
聲明:本站稿件版權(quán)均屬千鋒教育所有,未經(jīng)許可不得擅自轉(zhuǎn)載。
10年以上業(yè)內(nèi)強(qiáng)師集結(jié),手把手帶你蛻變精英
請您保持通訊暢通,專屬學(xué)習(xí)老師24小時(shí)內(nèi)將與您1V1溝通
免費(fèi)領(lǐng)取
今日已有369人領(lǐng)取成功
劉同學(xué) 138****2860 剛剛成功領(lǐng)取
王同學(xué) 131****2015 剛剛成功領(lǐng)取
張同學(xué) 133****4652 剛剛成功領(lǐng)取
李同學(xué) 135****8607 剛剛成功領(lǐng)取
楊同學(xué) 132****5667 剛剛成功領(lǐng)取
岳同學(xué) 134****6652 剛剛成功領(lǐng)取
梁同學(xué) 157****2950 剛剛成功領(lǐng)取
劉同學(xué) 189****1015 剛剛成功領(lǐng)取
張同學(xué) 155****4678 剛剛成功領(lǐng)取
鄒同學(xué) 139****2907 剛剛成功領(lǐng)取
董同學(xué) 138****2867 剛剛成功領(lǐng)取
周同學(xué) 136****3602 剛剛成功領(lǐng)取
相關(guān)推薦HOT
云原生存儲(chǔ)和云存儲(chǔ)有什么區(qū)別?

一、架構(gòu)設(shè)計(jì)不同云原生存儲(chǔ)是指在云原生環(huán)境下設(shè)計(jì)和構(gòu)建的存儲(chǔ)系統(tǒng)。它是基于云原生計(jì)算模式和原則進(jìn)行設(shè)計(jì),充分利用容器、微服務(wù)和自動(dòng)化管...詳情>>

2023-10-14 06:50:34
如何刪除需要使用管理員權(quán)限才能刪除的文件?

如何刪除需要使用管理員權(quán)限才能刪除的文件在Windows系統(tǒng)中,有時(shí)候我們可能會(huì)遇到一些需要管理員權(quán)限才能刪除的文件。這是因?yàn)檫@些文件可能是...詳情>>

2023-10-14 06:27:57
有什么好用的redis可視化管理工具?

一、Redis Desk較好 ManagerRedis Desk較好 Manager是一款非常受歡迎的Redis數(shù)據(jù)庫管理工具。它支持直接進(jìn)行數(shù)據(jù)修改、刪除和新增等操作,而且...詳情>>

2023-10-14 06:24:43
市場上C++主要是用來做什么的?

C++是一種廣泛應(yīng)用于市場上的編程語言,具有高性能和強(qiáng)大的功能。它的設(shè)計(jì)目標(biāo)是提供高效的底層控制和與硬件交互的能力,同時(shí)保持可移植性和可...詳情>>

2023-10-14 06:01:51
為什么說PHP與Swoole是優(yōu)異組合?

PHP與Swoole在Web開發(fā)和網(wǎng)絡(luò)編程領(lǐng)域中,共同構(gòu)成了一種強(qiáng)大的解決方案。什么是PHPPHP是一種廣泛使用的開源服務(wù)器端腳本語言,特別適用于Web開...詳情>>

2023-10-14 05:08:41