点一下看两眼,声明变量教你辩

主要知识点

当页面一打开js代码首先要从上到下执行,先把整个js浏览一遍,把其中带 var 和 function 的提早声明一下 var 是只声明不定义, function 而是声明定义。

什么是声明,什么是定义?函数

var:例如咱们创建一个 
                var a = 10;
                var a;这就是声明
                a = 10;这就是定义
    var 在最开始执行时只会声明,但不会定义,而赋予的默认值则会是undefined,简单来说就是说会记住
    a,可是a是什么并不会记住,因此默认是undefined。
    
function:咱们创建一个函数
                function f(){
                console.log(666)
                }
                f()
    function 声明的函数在代码执行以前早就已经存在了因此在整个js的任意位置均可以执行。
复制代码

咱们看一个简单的例子,来理解 var 和 function 的区别

用 var 和 function 都创建一个函数,在他们上面输出:
复制代码

很明显就能看出 var 和 function 的区别,function 提早声明定义因此哪里均可以输出,而 var 则会是 undefined。

function的特殊状况

咱们刚才说了 function 即声明又定义可是在{}块级做用域中 只声明不定义,声明不定义 给的默认值都是undefined。spa

通常会出如今 for、if.....这些块级做用域中
    例如:
            console.log(f)
            for(var i=0;i<3;i++){
            function f(){
            }
            }
复制代码

结果是undefined,在块级做用域中只声明不定义,一样在条件句中的代码也会进行变量提高 无论条件是否成立对于
带function 的变量这时也只有声明没有定义。
复制代码

这就是声明变量的基本内容,我也会常常更新JS其余知识概要,一块儿提升。

相关文章
相关标签/搜索