JS经典面试题05-变量连续声明var a = b = 1

在这里插入图片描述

  • 函数里面声明的变量是局部变量,在函数外无法被访问。 怎么会有人出这么简单的面试题呢?

1.1-答案揭晓

在这里插入图片描述

1.2-原理解析

在这里插入图片描述

		/*本题考点 
        a.  变量作用域 : 函数里面声明的变量是局部变量,无法在全局访问
        b.  冷门知识点 : 变量如果没有使用var关键字声明,则没有作用域限制。 一定是全局变量(不标准语法)
        */
        //声明函数
        function fn() {
            /*变量连续赋值执行原理 
            (1)   b = 1;      声明一个全局变量b,值为1. 因为这里b并没有使用var关键字所以没有作用域限制
            (2)   var a = b;  声明一个局部变量a, 值为1
            */
            var a = b = 1;
        };
        //调用函数 :执行函数体代码
        fn();
        //请说出代码结果
        console.log( b );//1
        console.log( a );//程序报错 a is not defined        
  • 3
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值