JS笔试题(6)变量预解析

本人花费半年的时间总结的《Java面试指南》已拿腾讯等大厂offer,已开源在github ,欢迎star!

转载声明:转载请注明出处,本技术博客是本人原创文章

本文GitHub https://github.com/OUYANGSIHAI/JavaInterview 已收录,这是我花了6个月总结的一线大厂Java面试总结,本人已拿大厂offer,欢迎star

原文链接:blog.ouyangsihai.cn >> JS笔试题(6)变量预解析

题目

    var a = 1;

    var b = function a(x) {

        x && a(–x);

    };

    console.log(a);

    console.log(b);

控制台的打印结果是什么?

答案:

1

function a(x) {

    x && a(–x);

}

JS中变量会预解析,所谓的预解析就是:在当前作用域中,JavaScript代码执行之前,浏览器首先会默认的把所有带var和function声明的变量进行提前的声明或者定义。

函数声明的优先级高于变量声明。

题中代码,其实引擎是这样读取的:

  var a;

  var b;

  a = 1;

  b = function a(x) {

     x && a(–x);

  };

  console.log(a);

  console.log(b);

(1)声明一个变量a。

(2)声明一个变量b。

(3) 给变量a赋值1。

(4)给变量b赋值一个命名函数a。

JS笔试题(6)变量预解析感谢阅读~~~

dvdf

JS笔试题(6)变量预解析

始发于微信公众号: 前端麻辣烫

本人花费半年的时间总结的《Java面试指南》已拿腾讯等大厂offer,已开源在github ,欢迎star!

转载声明:转载请注明出处,本技术博客是本人原创文章

本文GitHub https://github.com/OUYANGSIHAI/JavaInterview 已收录,这是我花了6个月总结的一线大厂Java面试总结,本人已拿大厂offer,欢迎star

原文链接:blog.ouyangsihai.cn >> JS笔试题(6)变量预解析


 上一篇
JS笔试题(5)变量预解析 JS笔试题(5)变量预解析
题目     if (!(“b”in window)) {        var b = 1;     }     console.log(b); 控制台的打印结果是什么? 答案:undefined Window 对象表示一个浏览器窗口或一
2021-04-05
下一篇 
JS中this的用法 JS中this的用法
this是Javascript语言的一个关键字。它代表函数运行时,自动生成的一个内部对象,只能在函数内部使用。this的指向在函数定义的时候是确定不了的,只有在函数执行的时候才能确定, 因为this是执行上下文环境的一部分,而执行上下文需要
2021-04-05