zoukankan      html  css  js  c++  java
  • js作用域

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

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

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

    局部作用域(函数作用域):在函数内部就是局部作用域,这个代码的名字只在函数内部起效果和作用


    变量的作用域:根据作用域的不同分为两种 全局变量跟局部变量

    全局变量:在全局作用域下的变量(如果在函数内部没有声明直接赋值的变量也叫全局变量,但是不建议使用)
    function fun(){num2 = 20} num2也是全局变量
    局部变量:在局部作用域下的变量(在函数内部的变量,函数的形参也可以看成局部变量)

    区别:从执行效率来看

    全局变量只有浏览器关闭的时候才会销毁,比较占内存资源
    局部变量当程序执行完毕就会销毁,比较节约内存资源

    块级作用域

    现阶段js没有块级作用域,在es6中新增的块级作用域
    块级作用域就是用 {} 花括号包含的,在块级作用域定义的变量,外部不能调用。

    作用域链

    内部函数访问外部函数的变量,采取的是链式查找的方式来决定取哪个值,这种结构称为作用域链(类似于就近原则)
    var num = 10
    function fu(){ var num = 20; function fun(){ console.log(num) } } 会打印出20(先去上一级fn()查找,如果没有num才会去全局变量num查找,如果fn()有num变量,就会返回num
    变量的值)

    有问题可直接留言,望各位与我都可以成为技术大牛。
  • 相关阅读:
    基于Centos 7 vue+nginx+docker 的前端项目部署
    uni-app学习随笔
    微服务和Docker
    Ado.Net
    数据库(SQLServer)
    JavaScript
    CSS样式
    HTML前端标签
    vue中 拖动元素边框 改变元素宽度
    vue学习笔记14
  • 原文地址:https://www.cnblogs.com/xhxdd/p/13177415.html
Copyright © 2011-2022 走看看