嫩草影院久久99_老司机午夜网站国内精品久久久久久久久_久久夜色精品国产_国产一级做a爰片久久毛片

【舉栗說明】JavaScript作用域,一次性給你總結(jié)!

2021-10-18    前端達(dá)人

圖片

本文重點

  • 函數(shù)案例

  • 函數(shù)作為參數(shù)使用

  • arguments

  • 作用域:寫代碼要注意變量的在哪聲明和使用的問題

  • 預(yù)解析:什么叫預(yù)解析, 什么東西發(fā)生了什么事

01 作用域:使用范圍

全局變量:

  • 聲明的變量是使用var聲明的,那么這個變量就是全局變量,

  • 全局變量可以在頁面的任何位置使用

  • 除了函數(shù)以外,其他的任何位置定義的變量都是全局變量

  • 如果頁面不關(guān)閉,那么就不會釋放,就會占空間,消耗內(nèi)存

  • 全局作用域:全局變量的使用范圍

局部變量:

  • 在函數(shù)內(nèi)部定義的變量,是局部變量,外面不能使用

  • 局部作用域:局部變量的使用范圍

注意:

塊級作用域:一對大括號就可以看成是一塊,在這塊區(qū)域中定義的變量,只能在這個區(qū)域中使用,但是在js中在這個塊級作用域中定義的變量,外面也能使用;

說明:js沒有塊級作用域,只有函數(shù)除外

隱式全局變量:聲明的變量沒有var,就叫隱式全局變量

全局變量是不能被刪除的,隱式全局變量是可以被刪除的

定義變量使用var是不會被刪除的,沒有var是可以刪除的

function f1() {  number=1000;//是隱式全局變量 }f1();console.log(number);   var num1=10;  num2=20;  delete num1;//把num1刪除了  delete num2;//把num2刪除了  console.log(typeof num1);  console.log(num1+10);  console.log(typeof num2);  num=100; console.log(num);  function f1() {  var num=100;  num+=10; }f1();//這個函數(shù)結(jié)束之后 { var num=10;  console.log(num);//10 }console.log(num);  if(true){  var num=10; }console.log(num); for(var i=0;i<5;i++){  var number=20; }console.log(number);   var i=0;  while (i<5){  var num=100;  i++;  } console.log(num);  function f1() {  var num=10; }f1(); console.log(num);  var num=10; console.log(num);//10  

作用域鏈

 var num=10;  function f1() {  var num=20;  function f2() {  var num=30;  function f3() {  var num=50;  console.log(num);  } f3();  } f2();  } f1(); 

03 函數(shù)案例

求2個數(shù)中的最大值

 function getMax(num1, num2) {  return num1 > num2 ? num1 : num2;  } console.log(getMax(10,20));  //console.log(getMax);//函數(shù)的代碼 function getMax(num1, num2) {  return num1 > num2 ? num1 : num2;  } var num1=10;  var num2=20;  //函數(shù)外面的num1和函數(shù)的形參num1不是同一個變量 var result=getMax(num1,num2);  console.log(result);  console.log(getMax);//函數(shù)的代碼 

求3個數(shù)中的最大值

 function getThreeMax(x, y, z) {  return x > y ? (x > z ? x : z) : (y > z ? y : z);  } console.log(getThreeMax(10,2,24)); 

判斷一個數(shù)是否是素數(shù)(質(zhì)數(shù)),只能被1和自身整除,質(zhì)數(shù)是從2開始

用這個數(shù)字和這個數(shù)字前面的所有的數(shù)字整除一次(沒有1的,沒有自身的)

 function isPrimeNumber(num) {  for (var i = 2; i < num; i++) {  if (num % i == 0) {  //說明有一個數(shù)字整除了,就沒有必要向后繼續(xù)整除了, //此時就已經(jīng)驗證出不是質(zhì)數(shù) return false;  } } return true;  }//  console.log(isPrimeNumber(7) ? "yyyyyes" : "nnnnnno") var aa = isPrimeNumber(17);  if (aa) {  console.log("yes");  } else {  console.log("no");  }  function isPrimeNumber(num) {  for(var i=2;i<num;i++){  if(num%i==0){  //說明有一個數(shù)字整除了,就沒有必要向后繼續(xù)整除了,此時就已經(jīng)驗證出不是質(zhì)數(shù) return false;  } } return true;  } console.log(isPrimeNumber(8)?"是質(zhì)數(shù)":"不是質(zhì)數(shù)");   var result=isPrimeNumber(2);  if(result){  console.log("這個數(shù)字是質(zhì)數(shù)");  }else{  console.log("這個數(shù)字不是質(zhì)數(shù)");  }  function aaa(x,y){  return x-y;  } console.log(aaa(99,88)) 

通過函數(shù)實現(xiàn)數(shù)組反轉(zhuǎn)

 function reverseArray(arr) {  for (var i = 0; i < arr.length / 2; i++) {  var temp = arr[i];  arr[i] = arr[arr.length - 1 - i];  arr[arr.length - 1 - i] = temp;  } return arr;  } console.log(reverseArray([1, 2, 3, 4, 5])); 

通過函數(shù)實現(xiàn)冒泡排序

 function sortArray(arr) {  //控制比較的輪數(shù) for (var i = 0; i < arr.length - 1; i++) {  //控制每一輪的比較次數(shù) for (var j = 0; j < arr.length - 1 - i; j++) {  if (arr[j] > arr[j + 1]) {  var temp = arr[j];  arr[j] = arr[j + 1];  arr[j + 1] = temp;  }//end if }//end for }//end for return arr; } console.log(sortArray([0, 19, 34, 10, 100, 2])); 

求一個數(shù)字的階乘

function getJieCheng(num) {  var result = 1;  for (var i = 1; i <= num; i++) {  result *= i;  } return result; }console.log(getJieCheng(5));//1*2*3*4*5 

求斐波那契數(shù)列

 function getFib(num){  var num1=1;  var num2=1;  var num3=0;  for(var i=3;i<=nnum;i++){  sum=num1+num2;  num1=num2;  num2=sum;  } return sum;  } console.log(getFib(12))  

02 函數(shù)作為參數(shù)使用

函數(shù)是有數(shù)據(jù)類型,數(shù)據(jù)類型:是function類型的

函數(shù)可以作為參數(shù)使用,如果一個函數(shù)作為參數(shù),那么我們說這個參數(shù)(函數(shù))可以叫回調(diào)函數(shù) 只要是看到一個函數(shù)作為參數(shù)使用了,那就是回調(diào)函數(shù)

function sayHi(fn) {   console.log("GOOD");  fn();//fn此時應(yīng)該是一個函數(shù)}function suSay() {  console.log("HELLO"); }sayHi(suSay); function f1(x,y) {  console.log(x+y); }f1(10,20); function f2(x,y) {  console.log(x+y); }f2("HLS","MISS"); function f3(x) {  console.log(x); }f3(true);

04 arguments

計算n個數(shù)字的和

定義一個函數(shù),如果不確定用戶是否傳入了參數(shù),或者說不知道用戶傳了幾個參數(shù),沒辦法計算,但是如果在函數(shù)中知道了參數(shù)的個數(shù),等于也知道了每個參數(shù)的值.

//定義function f1() {  //獲取的是函數(shù)在調(diào)用的時候,傳入了幾個參數(shù) //console.log(arguments.length);  //使用arguments對象可以獲取傳入的每個參數(shù)的值 console.log(arguments); } f1(10,20,30,40,100,200);//調(diào)用 
 function f1({  //arguments----->數(shù)組使用------偽數(shù)組--- var sum=0;  for(var i=0;i<arguments.length;i++){  sum+=arguments[i];  } return sum;  } console.log(f1(10,20,30)); 

05 預(yù)解析:提前解析代碼

預(yù)解析:就是在解析代碼之前,預(yù)解析做什么事?

把變量的聲明提前了----提前到當(dāng)前所在的作用域的最上面

函數(shù)的聲明也會被提前—提前到當(dāng)前所在的作用域的最上面

函數(shù)調(diào)用的時候, 把會函數(shù)的聲明提升到作用域的上面

函數(shù)的聲明提升到作用域

 f1();//調(diào)用  var num=20;//這個變量的聲明會提升到變量使用之前  function f1() {  console.log(num);  //var num=10;  } function f1() {  console.log("小蘇好猥瑣");  } f1();  function f1() {  console.log("小蘇沒有助教猥瑣");  } f1(); 

把變量的聲明提前

 var num;  console.log(num);  num=10;  function f1() {  console.log("哈哈,助教好猥瑣哦");  }   //f1();//報錯 

注意:預(yù)解析中,變量的提升,只會在當(dāng)前的作用域中提升,提前到當(dāng)前的作用域的最上面

  function f1({  console.log(num);//undefined  var num = 10;  } f1();   console.log(num);//報錯  

函數(shù)中的變量只會提前到函數(shù)的作用域中的最前面,不會出去

預(yù)解析會分段(多對的script標(biāo)簽中函數(shù)重名,預(yù)解析的時候不會沖突)

 function f1({  console.log(num);//undefined  var num=10; } f1(); console.log(num);// function f1() { console.log("哈哈"); }

藍(lán)藍(lán)設(shè)計建立了UI設(shè)計分享群,每天會分享國內(nèi)外的一些優(yōu)秀設(shè)計,如果有興趣的話,可以進(jìn)入一起成長學(xué)習(xí),請掃碼藍(lán)小助,報下信息,藍(lán)小助會請您入群。歡迎您加入噢~~希望得到建議咨詢、商務(wù)合作,也請與我們聯(lián)系。

分享此文一切功德,皆悉回向給文章原作者及眾讀者.

轉(zhuǎn)自:csdn
免責(zé)聲明:藍(lán)藍(lán)設(shè)計尊重原作者,文章的版權(quán)歸原作者。如涉及版權(quán)問題,請及時與我們?nèi)〉寐?lián)系,我們立即更正或刪除。

藍(lán)藍(lán)設(shè)計www.sdgs6788.com )是一家專注而深入的界面設(shè)計公司,為期望卓越的國內(nèi)外企業(yè)提供卓越的UI界面設(shè)計、BS界面設(shè)計 、 cs界面設(shè)計 、 ipad界面設(shè)計 、 包裝設(shè)計 、 圖標(biāo)定制 、 用戶體驗 、交互設(shè)計、 網(wǎng)站建設(shè) 平面設(shè)計服務(wù)

日歷

鏈接

個人資料

藍(lán)藍(lán)設(shè)計的小編 http://www.sdgs6788.com

存檔

嫩草影院久久99_老司机午夜网站国内精品久久久久久久久_久久夜色精品国产_国产一级做a爰片久久毛片
<em id="09ttv"></em>
    <sup id="09ttv"><pre id="09ttv"></pre></sup>
    <dd id="09ttv"></dd>

        • 欧美a级片网站| 亚洲欧洲在线免费| 国产日韩欧美中文在线播放| 欧美日韩一区二区三区免费| 美女主播精品视频一二三四| 久热精品视频在线免费观看| 免费成人av在线| 欧美电影在线观看完整版| 免费高清在线一区| 欧美精品18videos性欧美| 欧美精选一区| 国产精品嫩草99av在线| 国产性猛交xxxx免费看久久| 在线日韩精品视频| 日韩亚洲在线观看| 亚洲一区高清| 久久久噜久噜久久综合| 欧美成人精品在线视频| 99国产精品视频免费观看一公开 | 麻豆freexxxx性91精品| 午夜一区二区三视频在线观看| 国产精品久久77777| 亚洲主播在线| 欧美制服丝袜第一页| 久久久亚洲午夜电影| 欧美精品一区二区久久婷婷| 国产精品嫩草影院一区二区| 亚洲电影免费观看高清完整版在线 | 久久人人精品| 亚洲激情国产| 欧美一区二区私人影院日本| 欧美日韩国产精品一卡| 国产一区二区三区久久 | 欧美一区二区在线观看| 欧美成人免费全部| 国产日韩欧美高清免费| 一本色道久久综合一区| 久久男女视频| 亚洲一区二区免费视频| 欧美福利精品| 国内自拍亚洲| 性欧美办公室18xxxxhd| 最新国产成人在线观看| 久久久久久综合| 国产欧美日韩伦理| 在线综合+亚洲+欧美中文字幕| 蜜臀av国产精品久久久久| 亚洲视频大全| 欧美日韩在线播放一区二区| 亚洲品质自拍| 久久国产66| 亚洲欧美亚洲| 欧美色大人视频| 一区二区三区四区蜜桃| 欧美二区视频| 免费视频久久| 在线免费观看成人网| 欧美在线亚洲| 午夜精品一区二区三区电影天堂| 欧美人妖另类| 亚洲视频自拍偷拍| 日韩一区二区精品视频| 欧美激情第1页| 日韩视频在线一区| 亚洲欧洲综合| 欧美国产第一页| 亚洲区国产区| 亚洲国产精品一区制服丝袜 | 亚洲精品欧美一区二区三区| 国产日韩欧美精品| 国产香蕉久久精品综合网| 亚洲综合另类| 亚洲五月婷婷| 国产精品成人在线观看| 亚洲欧美日韩国产另类专区| 亚洲图片欧洲图片日韩av| 欧美色视频一区| 亚洲欧美国产高清| 欧美一级艳片视频免费观看| 尤物99国产成人精品视频| 蜜桃av一区二区三区| 蜜臀av性久久久久蜜臀aⅴ| 日韩视频一区二区三区在线播放免费观看| 亚洲第一网站免费视频| 欧美国产日韩一区二区三区| 99精品视频免费在线观看| 日韩视频三区| 国产日韩欧美夫妻视频在线观看| 裸体歌舞表演一区二区| 欧美另类视频| 久久精品国产一区二区三区免费看| 欧美一区二区视频在线| 亚洲精品在线免费| 亚洲欧美bt| 亚洲激情中文1区| 亚洲网站在线播放| 一区在线播放视频| 亚洲毛片播放| 国内综合精品午夜久久资源| 免费高清在线视频一区·| 欧美日韩国产二区| 久久精品国产99| 欧美日韩免费区域视频在线观看| 欧美一区二区三区在线观看| 欧美大片免费观看在线观看网站推荐| 一区二区三区精品国产| 久久精品久久综合| 亚洲永久网站| 免费在线亚洲欧美| 久久久精品tv| 国产精品三级视频| 亚洲国产高清一区| 黄色小说综合网站| 亚洲一区二区3| 99精品福利视频| 久久亚洲综合色| 久久精品91| 欧美日韩一区二区三区| 欧美国产精品va在线观看| 国产丝袜美腿一区二区三区| 中文日韩电影网站| 亚洲最新视频在线播放| 久久久久一区二区三区四区| 欧美亚洲三区| 欧美视频在线观看一区| 91久久香蕉国产日韩欧美9色| 国产在线一区二区三区四区 | 亚洲第一页在线| 久久久之久亚州精品露出| 欧美日韩不卡| 麻豆亚洲精品| 国产一区在线视频| 亚洲视频一区在线| 在线综合亚洲| 欧美片在线播放| 欧美激情在线免费观看| 国产亚洲一级高清| 小黄鸭精品密入口导航| 性欧美xxxx大乳国产app| 国产精品久久久久久久午夜| 日韩亚洲成人av在线| 日韩一级精品| 欧美人成在线| 亚洲毛片在线观看.| 一本色道久久综合亚洲精品高清| 欧美女同视频| 一区二区三区久久网| 亚洲午夜日本在线观看| 国产精品大片wwwwww| 亚洲一区二区三区四区中文| 亚洲欧洲av一区二区| 国产日韩欧美一区在线| 久久精品视频导航| 欧美激情在线有限公司| 亚洲私人影院| 国产日韩一区二区| 久久久免费观看视频| 亚洲欧洲综合另类在线| 亚洲一级在线| 国产一区二区三区av电影| 久久亚洲国产成人| 亚洲人成人99网站| 亚洲综合视频网| 好吊日精品视频| 久久久精品国产一区二区三区| 久久久欧美精品sm网站| 久久久精品一品道一区| 国产精品ⅴa在线观看h| 亚洲综合好骚| 免费成人黄色片| 亚洲精品国精品久久99热| 欧美日产国产成人免费图片| 亚洲小说欧美另类婷婷| 美女国产一区| 一区二区福利| 国产九九精品| 欧美刺激午夜性久久久久久久| av成人激情| 老司机一区二区| 99国产精品久久久久老师 | 欧美午夜不卡在线观看免费| 欧美一区二区在线免费播放| 亚洲国产成人精品久久久国产成人一区| 亚洲视频免费在线观看| 精品动漫3d一区二区三区免费| 欧美日韩第一页| 久久精品卡一| 制服丝袜激情欧洲亚洲| 欧美sm视频| 久久gogo国模啪啪人体图| 99精品国产热久久91蜜凸| 国产亚洲a∨片在线观看| 欧美日韩在线高清| 亚洲视屏在线播放| 国产视频一区欧美| 男女视频一区二区| 久久免费黄色| 免费不卡在线观看| 在线 亚洲欧美在线综合一区| 久久青青草综合|