js 作用域,闭包

2018-01-01  本文已影响9人  西兰花伟大炮

今天又看到一本干货满满的动物书,短小精悍,与js启示录带来的感觉一样

(1)重新声明一个已有的变量,则并不会将该变量的值设置回undefined
var q = 22;
var q;        
// q仍为22;

(2)可以用字母数字下划线$来命名变量,但不能以数字开头
(3)typeof 操作符总是返回一个字符串
(4)作用域
var weight = 140;

    function lose(weight){

        console.log(weight); //140
        //虽然有变量提升,但是优先级没有参数高
        var weight = 135;
    }

    lose(weight);
    //140 函数作用域内变量无法访问
    console.log(weight); 

函数内提升的局部变量优先级没有参数高


函数中变量修改

如果没有传入参数,并且对函数进行了调用,是可以修改外部变量的


image.png

当变量作为参数传入,再进行修改,外部是不起作用的


image.png

函数与变量提升,相互赋值


image.png
上一篇 下一篇

猜你喜欢

热点阅读