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

    JS没有块级作用域

    在ES5以及之前的JS版本中,JS是没有块级作用域的概念的,只是在ES6之后JS才有了块级作用域。用let声明

    for(var i = 0;i<5; i++){
    }
    console.log(i)//5
    
    for(let j = 0;j<5;j++){
    }
    console.log(j)//undefind
    

    JS的函数作用域

    在JS函数内部声明的变量仅能在此函数内部使用,没有显式声明的变量会默认声明为全局变量

    function fn(){
        var a = 1; //a是函数内部的局部变量
        b = 2; //b会默认声明为全局变量
    }
    
    fn();
    
    console.log(a);//undefined
    console.log(b);//2
    

    利用这个特性可以将很多变量封装在函数中而不会污染全局

    (function (){
        var a = 1; 
        
    })()//执行一个函数而又没有任何变量声明
    
  • 相关阅读:
    CSRF的安全问题
    preg_replace
    反汇编:虚函数表
    12.Proxy
    JS中的this
    11.Set 和 Map数据结构
    10.symbol
    9.对象的扩展
    test
    ES5支持的方法
  • 原文地址:https://www.cnblogs.com/zheng-chuang/p/7203290.html
Copyright © 2011-2022 走看看