首页 > 编程语言 >JavaScript—作用域

JavaScript—作用域

时间:2023-09-01 19:34:05浏览次数:37  
标签:console 函数 作用域 JavaScript num var

JavaScript作用域:

就是代码名字(变量)在某个范围内起作用和效果。目的是/为了提高程序的可靠性同时减少命名冲突。

JavaScript作用域在(es6)之前:全局作用域局部作用域。

全局作用域:整个Script标签或者一个单独的js文件。

局部作用域:在函数内部就是局部作用域。这个代码名字只在函数内部起效果和作用。(函数的形参也是局部变量

作用域
var num = 1;        // 全局变量
        function fn() {
            num1 = 0;       // 在函数内部中没有声明直接赋值的变量也属于全局变量
            var num2 = 2;
            console.log(num);
        }
        fn();
        console.log(num1);
        console.log(num2);      // num2是局部变量不能全局调用只能在函数内部使用
作用域链
 var num = 0;
        function fn0() {     // 外部函数
            var num = 1;
            function fn1() {     // 内部函数
                console.log(num);       //向上一层寻找num,找不到就继续向上
            }
            fn1();
        }
        fn0();

 

标签:console,函数,作用域,JavaScript,num,var
From: https://www.cnblogs.com/vayenge/p/17464189.html

相关文章

  • JavaScript—内置对象
    内置对象是什么JavaScript中的对象分为三种:自定义对象,内置对象和浏览器对象。前面两种对象是JS基础内容,属于ECMAScript;第三个浏览器对象属于我们JS独有的。内置对象就是指JS语言自带的一些对象,这些对象供开发者使用,并提供了一些常用的或是最基本而必要的功能(属性和方法)。内置......
  • JavaScript—对象
    为什么需要对象保存一个值时,可以使用变量,保存多个值(一组值)时,可以使用数组。如果要保存一个人的完整信息(信息面板)呢?在JavaScript中,对象是一组无序的相关属性和方法的集合,所有的事物都是对象,例如字符串、数值、数组、函数等。对象是由属性和方法组成。属性:事物的特征,在对象中用......
  • JavaScript—预解析
    预解析口诀:先声明再调用JavaScript代码是由浏览器中的JavaScript解析器来执行的。JavaScript解析器在运行JavaScript代码的时候分为两步:预解析和代码执行。 预解析的变量问题 /*console.log(unknow);*///报错:使用了未定义的变量console.log(num);......
  • JavaScript—简单类型与复杂类型
    简单数据类型的内存分配简单类型又叫做基本数据类型或者值类型,复杂类型又叫做引用类型。(简单)值类型:简单数据类型/基本数据类型,在存储时变量中存储的是值本身,因此叫做值类型:string,number,boolean,undefined,null。简单数据类型存放在栈里面查看代码vartimer=null;......
  • JavaScript阶段易踩坑--层级覆盖--var与let使用--事件流(捕获和冒泡)
    刚刚走完JavaScript阶段,感觉挺爽的。但在总结的时候,我发现一些在做网页中容易错的地方,还有一些比较重要的方面。为了避免其他人在这一阶段也遇到这些问题。我今天就着重说一下在JavaScript这一阶段我容易出现的问题,从而让大家在遇到相同问题的时候可以快速解决。一.盒子覆盖问题只......
  • JavaScript中exec()方法详解
    一、RegExp对象的声明及exec()方法的使用声明一个RegExp有两种方式:1)varre=newRegExp(pattern,modifiers);2)varre=/pattern/modifiers;注释:pattern(模式):描述了表达式的模式modifiers(修饰符)用于指定全局匹配、区分大小写的匹配和多行匹配,具体有i、g和m三类,这三类也......
  • LatexEasy | JavaScript集成公式编辑器
    在线示例https://latexeasy.com/en/demo/sdk使用方式基础使用方式<iframeid="liveEditor"frameborder="0"style="width:100%;height:400px;border:0;outline:none;"src="https://latexeasy.com/editor"></if......
  • 如何使用javascript制作一个网页端3D贪吃蛇游戏(附源码)
    3D网页版贪吃蛇游戏!下面来具体讲一下如何实现。该游戏使用Hightopo的SDK制作,总共100多行代码,没有WebGL基础的同学们也可很快掌握。场景初始化首先,我们对页面进行初始化,包括初始化3D场景,设置地面网格,以及开启事件监听等。主要代码及注释如下:w=40;//网格间距m=20;//......
  • javascript 两个小于号<<是什么操作符?
    JavaScript中有一个特殊的运算符,被称为“双小于号”。这个运算符的符号是“<<”,作用是将一个数的二进制形式向左移动指定的位数。在移位过程中,右侧的位将会自动补0。双小于号在JavaScript中常常用于进行位运算操作,让我们来了解一下它的具体用法。参考:https://www.yzktw.com.cn/po......
  • What's the difference between Async Await and Promise in JavaScript All In One
    What'sthedifferencebetweenAsyncAwaitandPromiseinJavaScriptAllInOneAsyncvsPromisedemos(......