JavaScript作用域的示例分析

技术JavaScript作用域的示例分析这篇文章给大家分享的是有关JavaScript作用域的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。作用域作用域(Scope)简单的说就是变量,

本文将与您分享关于JavaScript范围的示例分析内容。我觉得边肖很实用,就和大家分享一下作为参考。让我们跟着边肖看一看。

00-1010作用域只是变量、函数和对象定义后的可用作用域。

console.log(a)

{

vara=1;

}

function test(){ 0

varb=2;

}JavaScript作用域的示例分析

可以看出,变量B不能在外部使用。可以看出,该范围可以保护数据免受外部随机访问和修改。简单可见,作用域可以隔离彼此的变量,即不同作用域中同名的变量不会冲突。

最重要和最常用的范围是全局范围和函数范围。然而,在ES6之后,由于let和const关键字,它作为块级范围被引入。

00-1010全局作用域仅仅意味着所有的域都可以访问服务器域下的变量和方法对象。

Vara=“全局1”;

function test(){ 0

B='不带var,隐式转换为全局变量';

Window.c='直接以变量c为窗口也会变成全局';

Vard=“非全局范围”;

}

#第一步是执行测试()

Test()#这样,方法中的变量将被定义和赋值。

#第二步

console.log(a)

console.log(b)

console.log(c)

控制台日志(d)JavaScript作用域的示例分析

一般来说,window的属性是全局变量,而window.c的真实表达式将C作为window的一个属性。声明变量时注意不要带var。最好带var,这样就不会提升为全局变量,导致数据相互污染。

顺便说一下,测试方法也是全局域下的方法。

function test(){ 0

vara=function(){ 0

Console.log('文字方法')

}

b=函数(){ 0

Console.log('不带变量文字的方法')

}

function test1(){ 0

Console.log('通用声明方法')

}

}JavaScript作用域的示例分析

可以看到这种文字声明的方法,类似于将函数赋给变量并将其视为变量的方法。这也在预编译中得到了证明。

作用域

函数作用域与全局作用域相反,它不是用于所有的地方,而是用于一定的范围,一般声明的变量只在函数内部使用。

function test(){ 0

Vara=“非全局范围”;

console.log(a)

}现在

又有了一个问题,全局方法里面可以用函数作用域内部的变量。那么函数是内部是否可以有其下面的函数生成的函数作用域呢?以及其变量是否可以相互用?

function test(){
     var a="test方法作用域";
    function test1(){
         var b="test1方法作用域";
        console.log("a的值=",a);
    }
    # 调用函数内部函数
    test1();
     console.log("b的值=",b);
 }

JavaScript作用域的示例分析

这个地方可以看出作用域是分层的,内层作用域可以访问外层作用域的变量,外部访问不了内部的变量。

if,switch,for ,while

条件语句和逻辑循环,**它们不是函数同样也不像函数,也不会创建一个新的作用域。**其块定义的变量将保留在它们存在的作用域中。

function test(a){
    if(a>1){
        var b=13;
    }else{
       var b=1;  
    }
    console.log(b);
}

JavaScript作用域的示例分析

所以在使用条件语句和逻辑循环的时候,尽可能不要再全局作用域下使用。因为其方法体中的变量会影响其他的数据。

块作用域

块作用域的出现,一般需要依赖两个关键字let或const之一,不然就不会存在这个块作用域。

JavaScript作用域的示例分析

function test(a){
    const b="23";
    if (a>2){
        const c=3
        console.log("第一个人if---c-----",c)
    }
    if (a>1){
        console.log("第二个人if----b----",b)
        console.log("第二个人if----c----",c)
    }
     
}

JavaScript作用域的示例分析

可以看出如果有关键字let和const后,其变量的范围就是在其声明的那一对花括号内。所以第一个if中的c变量再第二个if的里面无法取得。当然还是遵守:内层作用域可以访问外层作用域的变量。

了解let和const看前一篇:地址

作用域链

这个看似很神奇的概念,简单的说就是作用域内有就直接用,没有找上一层,如果都没有,找到全局就结束。

var a=1
var b=3
function test(){
    var a=2
    console.log("a的值",a);
    console.log("b的值",b);
}

JavaScript作用域的示例分析

感谢各位的阅读!关于“JavaScript作用域的示例分析”这篇文章就分享到这里了,希望

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/91872.html

(0)

相关推荐

  • 游说的读音,一直想收个高级的游说之舌的巨蜥

    技术游说的读音,一直想收个高级的游说之舌的巨蜥我们华山有把如意以下所有的技能都研发出来的帮派,想体验游说来华山,呵呵现在的问道是罩子和如意圈的天下.光把这三种研究完就很困难了游说的读音,谁还愿意花精力,金钱去研究游说之舌

    生活 2021年10月22日
  • 如何修改一个apk文件的签名(apk签名如何导入文件)

    技术如何手动给APK文件签名如何手动给APK文件签名,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。由于您的应用签名密钥用于验证您作为开发者的身份,并确保

    攻略 2021年12月22日
  • 通州运河公园,通州有特色的文化旅游地有什么

    技术通州运河公园,通州有特色的文化旅游地有什么通州的特色文化旅游这几个景点可以参考:1.历史名桥:八里桥又名永通桥通州运河公园。建于明正统十一年(一四四六年),南北走向,长三十米,宽十六米,桥两侧有三十三块护栏雕饰、三十

    生活 2021年10月30日
  • 怎么使用web设计模式中享元模式

    技术怎么使用web设计模式中享元模式这篇文章主要讲解了“怎么使用web设计模式中享元模式”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么使用web设计模式中享元模式”吧

    攻略 2021年11月14日
  • 如何分析ASP.NET三层结构及三层架构的缺点

    技术如何分析ASP.NET三层结构及三层架构的缺点如何分析ASP.NET三层结构及三层架构的缺点,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。ASP.NET

    攻略 2021年11月26日
  • Windows如何实现任务计划隐藏显示黑窗口

    技术Windows如何实现任务计划隐藏显示黑窗口小编给大家分享一下Windows如何实现任务计划隐藏显示黑窗口,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!Windows 任务计划隐藏显示黑窗口,主要通

    攻略 2021年11月18日