js中加【var】和不加【var】的区别

    window.onload=function (){

    /*   1.在函数作用域内 加var定义的变量是局部变量,不加var定义的就成了"全局变量"
         2.在全局作用域下,使用var定义的变量不可以delete,没有var定义的变量可以delete.也就说明隐式全局变量严格来说不是真正的变量,而是全局对象(window)的属性,因为属性可以通过delete删除,而变量不可以

         3.使用var定义的变量不赋值时会有一个默认初始值:undefined,而不使用var定义的变量在alert()时浏览器会给出错误信息:a is not defined

         4.在ECMASceipt5的'use strict'模式下,如果变量没有使用var定义,会报错
*/

         function fn1(){

            console.log(a);
            var a =3;
        }
        fn1();    //undefined


        function fn2(){
            console.log(a);
            a =3;
        }
        fn2();    // 'a is not defined'

    }

    </script>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值