首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

js作用

又是因为什么我们要用这个块级作用,本文与你一起探讨块级作用的场景以及所有细节问题。...es6之前的作用 特点1 :js只有函数级作用以及全局两种 特点2 :不通过var声明的变量直接赋值也可以用并且可以访问,原理是直接赋值到了window对象属性变量下,两者如果同时定义,那么会覆盖使用...,函数内可以访问外部作用,而全局是不可以访问函数作用内的变量或者方法的 var a=b=c=12 function demo(){ var z=13 console.log(b)//12...块级作用 场景一 循环中的块级作用 如果我们有一个遍历循环的绑定事件,并且需要把当前的指针绑定到对应方法。...,利用let块级作用特性,区别就是定义变量时 i是块级变量,所以定义的函数的变量也是当时的块级作用,不随外面非块级元素值变化影响 var arr=[] for(let i=0;i<10;i++)

3.2K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    JS作用下 21

    ES6之前和ES6分开研究 1.需要明确: 1.ES6定义变量通过let 2.ES6除了全局作用、局部作用以外, 还新增了块级作用...3.ES6虽然新增了块级作用, 但是通过let定义变量并无差异(都是局部变量) 2.ES6作用链 1.1.全局作用我们又称之为0级作用 2.2....定义函数或者代码块都会开启的作用就是1级/2级/3级/...作用 2.3.JavaScript会将这些作用链接在一起形成一个链条, 这个链条就是作用链 0...---> 1 ----> 2 ----> 3 ----> 4 2.4.除0级作用以外, 当前作用级别等于上一级+1 3.变量在作用链查找规则...3.1先在当前找, 找到就使用当前作用找到的 3.2如果当前作用域中没有找到, 就去上一级作用域中查找 3.3以此类推直到0级为止, 如果0级作用还没找到, 就报错

    1.3K20

    JS作用作用

    JS作用就是在一定的空间范围内对数据进行读写操作。 在JS中一个变量的作用(scope)是程序定义这个变量的区域。 变量有全局变量和局部变量两种。...从根本上来说,作用是基于函数的,而执行环境是基于对象的(例如:全局执行环境即window对象)。 换句话说,作用涉及到所被调用函数的变量访问,并且不同的调用场景是不一样的。...作用链包含了执行环境栈的每个执行环境对应的变量对象。通过作用链,可以决定变量的访问和标识符的解析。 注意:全局执行环境的变量对象始终都是作用链的最后一个对象。...搜索过程始终从作用链的前端开始,然后逐级地向后(全局执行环境)回溯,直到找到标识符为止。 此外还要讲下JS作用域中的块级作用JS是没有块级作用这个概念的。 什么是块级作用呢?...JS并不支持块级作用,它只支持函数作用,而且在一个函数的任何位置定义的变量在该函数的任何地方都是可见的。 那么JS又该怎么拥有块级作用呢?

    4.1K30

    JS基础——作用作用

    作用 [[scope]],函数定义时自动生成的一个隐式属性,是用来存储函数作用链 Scope Chain的容器。作用链是用来存储函数执行上下文 AO和全局执行上下文 GO的容器。...函数被定义时,系统会为函数生成[[scope]],[[scope]]中保存该函数的作用链,并从该作用链的起始位置开始存储当前环境的作用链。...,并将GO插入到作用链的起始位置。...函数a被执行前一刻,会生成函数a的AO,插入到其作用链的起始位置。 Tips:此时虽然函数a的AO已经有了函数b的引用,但是函数b还是未被定义的。...函数a被执行时,此时函数b也被定义,函数b的[[scope]]也在此时生成,其中存储函数b的作用链,并将当前环境的作用链插入函数b作用链的起始位置,即函数a的AO和GO。

    3.5K10

    js的块级作用

    在上一篇说到了作用,简单介绍了一下块级作用,在这里我们来详细介绍一下。 众所周知,在js函数作用是常见的单元作用,也是现行的大多数js中最普遍的设计方案。...块作用是一个用来对之前的最小授权原则进行扩展的工具,将代码从在函数隐藏信息扩展为在块隐藏信息。...那么都有什么可以形成块级作用呢,下面我们来看一下 try/catch 这个东西相信很多人也都用过,但是我们大部分时间写代码都是在try块写的,不要认为try写的代码就是块级作用,其实里面声明的变量也会被声明为全局变量...因为catch 分句具有块作用,因此它可以在 ES6 之前的环境作为块作用的替代方案。一些工具可以将 ES6 的代码转换成能在 ES6 之前环境运行的形式。...console.log( i ); } } 由于 let 声明附属于一个新的作用而不是当前的函数作用(也不属于全局作用),当代码存在对于函数作用域中 var 声明的隐式依赖时,就会有很多隐藏的陷阱

    2.6K10

    JS作用链上 20

    "的时候最好将ES6之前和ES6分开研究 1.需要明确: 1.ES6之前定义变量通过var 2.ES6之前没有块级作用, 只有全局作用和局部作用...3.ES6之前函数大括号外的都是全局作用 4.ES6之前函数大括号的都是局部作用 2.ES6之前作用链 2.ES6之前作用链...1.1.全局作用我们又称之为0级作用 2.2.定义函数开启的作用就是1级/2级/3级/...作用 2.3.JavaScript会将这些作用链接在一起形成一个链条..., 这个链条就是作用链 0 ---> 1 ----> 2 ----> 3 ----> 4 2.4.除0级作用以外, 当前作用级别等于上一级+1...3.变量在作用链查找规则 3.1先在当前找, 找到就使用当前作用找到的 3.2如果当前作用域中没有找到, 就去上一级作用域中查找 3.3以此类推直到0

    68120

    JS进阶:作用作用

    作用(Scope) 1.什么是作用 作用是在运行时代码的某些特定部分变量,函数和对象的可访问性。换句话说,作用决定了代码区块变量和其他资源的可见性。...2.全局作用和函数作用 在代码任何地方都能访问到的对象拥有全局作用,一般来说以下几种情形拥有全局作用: 最外层函数 和在最外层函数外面定义的变量拥有全局作用 var outVariable...一般情况下,window对象的内置属性都拥有全局作用,例如window.name、window.location、window.top等等。...全局作用有个弊端:如果我们写了很多行 JS 代码,变量定义都没有用函数包括,那么它们就全部都在全局作用域中。这样就会 污染全局命名空间, 容易引起命名冲突。...因为放在里面的所有变量,都不会被外泄和暴露,不会污染到外面,不会对其他的库或者 JS 脚本造成影响。这是函数作用的一个体现。

    2.6K20

    了解 JS 作用作用

    (1)作用 一个变量的作用(scope)是程序源代码定义的这个变量的区域。 1....JS的声明提前 js的函数作用是指在函数内声明的所有变量在函数体内始终是可见的。...引入一大段话来解释: 每一段js代码(全局代码或函数)都有一个与之关联的作用链(scope chain)。 这个作用链是一个对象列表或者链表,这组对象定义了这段代码作用域中”的变量。...当js需要查找变量x的值的时候(这个过程称为变量解析(variable resolution)),它会从链的第一个对象开始查找,如果这个对象有一个名为x的属性,则会直接使用这个属性的值,如果第一个对象没有名为...作用链举例: 在js最顶层代码(也就是不包括任何函数定义内的代码),作用链由一个全局对象组成。

    2K10

    js作用详解

    js对象 众所周知,js的所有数据类型都是一个对象,例如: var a = 1; console.log 声明a=1;a属于number类型,但是number类型又是number对象,有着以下方法: interface...atest其实是一个window对象下的方法对象 var 局部变量作用 var 声明一个对象,只作用当前作用以下。...在闭包函数声明的变量,只能在闭包函数内的作用,以及下层作用使用,可通过return 对象,通过return对象声明的方法进行返回,使得上级作用能成功访问到闭包作用的变量 return作用变量访问情况...总结 1:js万物皆对象,所有变量都是对象类型。...2:js作用是往下通用的,下层作用可访问上层作用的变量,并可修改值 3:js下层作用变量和上层同名冲突时,下层作用将覆盖上层变量,但上层作用的访问不受影响 4:不适用var方法定义的变量,

    2.5K10

    Spring框架IOC容器对象作用

    在IOC容器我们可以使用scope属性来设置对象作用。在IOC容器主要为对象提供了5种类型的作用。我们分别看看它们具体的区别。...singleton 在IOC容器只存在一个实例,也就是通过singleton作用创建的对象是单例的。 ? 这两个对象的内存地址相同,这就说明了当前对象确实是一个单例对象了。...该作用只针对Web环境中使用。 session 同一个HTTP Session共享一个对象,不同的HTTP Session使用不同的对象,当这个Session结束时销毁这个对象。...该作用也是只针对Web环境中使用的。 globalSession 同一个全局Session共享一个对象,该作用也是只针对Web环境中使用的。...延迟加载 我们知道当我们使用ApplicationContext接口启动IOC容器时,会自动的实例化所有singleton作用对象,这一点和BeanFactory不同。

    1.1K30

    「JavaScript」作用对象

    JavaScript(es6前)作用有两种: 全局作用 局部作用(函数作用) 1.2 全局作用 作用于所有代码执行的环境(整个 script 标签内部)或者一个独立的 js 文件。...1.3 局部作用 作用于函数内的代码环境,就是局部作用。 因为跟函数有关系,所以也称为函数作用。 1.4 JS没有块级作用作用由 { } 包括。.../ 报错 以上java代码会报错,是因为代码{}即一块作用,其中声明的变量num,在{}之外不能使用;而与之类似的JavaScript代码,则不会报错,JS没有块级作用(在ES6之前): if(...3 - 作用链 只要是代码都一个作用域中,写在函数内部的局部作用,未写在任何函数内部即在全局作用域中;如果函数还有函数,那么在这个作用域中就又可以诞生一个作用;根据在[内部函数可以访问外部函数变量...预解析:在当前作用下, JS 代码执行之前,浏览器会默认把带有 var 和 function 声明的变量在内存中进行提前声明或者定义。 代码执行: 从上到下执行JS语句。

    38220
    领券