前端面试js题

var a=10;

(function(){

  console.log(a);

  var a=100;

})();

结果:输出undefined

解释:

function中有var a=100;

声明会提升到function最开头,但赋值发生在最后。

上面的代码等价于

var a=10;

(function(){

  var a;

  console.log(a);

  a=100;

})();

打印a的时候,a并没有在function内赋值,所以是undefined。

时间: 2024-08-02 06:57:39

前端面试js题的相关文章

web前端面试真题! 面试的经历和回答只做参考1

xxxxx网络有限公司:下午1点50分左右到达公司附近,3点左右找到公司,因为公司周围环境不是很好,位置也很偏僻,关键是当时公司就3个人,当时想着:就算不在这里工作最起码要了解下面试过程什么的,所以在面试时完全不紧张,整个过程就像闲聊一样. 1.先自我介绍下? 好的,我叫xxx,毕业于xxxx,之前在xxxxx做WEB前端工作2年左右,10月底辞职到厦门,以后打算在厦门长期发展. 2.node是什么? node是服务端的JS,是一个事件驱动的非阻塞的I/O服务端js环境,本质上是对google

鹅厂前端面试小题

鹅厂前端面试 1.有代码如下 function test2(){ return 25; }; console.log(typeof test2()) 问题:写出此时打印出的值       number 2.现有代码如下: var name='aaa'; var obj={ name:'bbb', dose:function(){ this.name='ccc'; } }; var does=obj.dose; does(); console.log(obj.name): 问题:写出此时打印的值

前端面试押题整理

HTML 押题 1 (必考) 你是如何理解 HTML 语义化的? 2 第一种举例,段落用 p,边栏用 aside,主要内容用 main 标签 3 第二种 最开始是 PHP 后端写 HTML,不会 CSS,于是就用 table 来布局.table 使用展示表格的.严重违反了 HTML 语义化. 4 后来有了专门的写 CSS 的前端,他们会使用 DIV + CSS 布局,主要是用 float 和绝对定位布局.稍微符合了 HTML 语义化. 5 再后来,前端专业化,知道 HTML 的各个标签的用法,于

web前端面试真题! 面试的经历和回答只做参考

xxxx科技有限公司    今天下午2:30分到达面试公司,BRT县后附近;首先进入叫你提交个人简历,和填写应聘表格必填个人信息外还有之前公司的基本信息和项目负责人联系方式   等一会过后;当项目经理进来面试的时候有礼貌的问好,他拿着简历进来,开始看着简历问问题;1.自我介绍一下自己?坐着端正,我叫xxx,22岁,毕业于xxxxxx, 计算机科学与技术专业;平时没事爱运动,研究最新的技术,逛逛技术论坛;2.为什么身份证和你填写的简历年龄不符合? 小时方便入学所以将年龄报大了;在2015年经过父母

前端面试高频题:删除数组重复元素的多种方法

最近在想着换工作,去了一家中关村的上市公司,面试官随便问了几个问题其中就提到了怎么删除数组元素的方法,表示这已经是第三次遇到了这个问题了,由于知识口头说说所以就随便说了下,之前用的时候都是直接找的方法库虽然知道大致是怎么写的但是还没有真正写过,网上的方法还是蛮多的这里也给大家分享一个作者写的吧,希望对初学者有所帮助: //数组去重的方法 Array.prototype.unique=function(){ //集中声明变量 var oldArr=this, newArr=[oldArr[0]],

前端面试js(语法)

1.alert分别输出什么值? A.3,4   B.4,4    C.4,5    D.undefiend undefined var a=2;var func=(function(){    var a=3;    return function(){        a++;        alert(a);     } })(); func(); func(); 解析:考察函数表达式,立即执行函数,闭包,作用域,引用类型等.具体相关知识点就不扩展说了,我觉得既然答案给了D选项这里还应该再考个

前端面试经典题之ES6新特性

ES6 主要是为了解决 ES5 的先天不足,在原先ES5的基础上新增了许多内容,本篇文章将列举出ES6中新增的10大特性. 一. let 和 const 与var不同,let和const都是用于命名局部变量,都是块级作用域.具体可参考阮一峰老师的文章:http://es6.ruanyifeng.com/#docs/let. 这三者的用法区别如下: 1 var val = "全局变量"; 2 3 { 4 let val = "局部变量"; 5 console.log(

前端面试算法题

数组去重 function unique(arr) { var result = {},newArr = []; for(var i=0;i<arr.length;i++){ if(!result[arr[i]]){ newArr.push(arr[i]); result[arr[i]]=1; } } return newArr; }

WEB前端开发 辨析类 面试真题 大集锦

WEB前端开发 辨析类 面试真题 大集锦 HTML5学堂-码匠:面试里最常出现的问题句式大概就是"说说XXX和XXX的区别""谈谈XXX和XXX的不同"了吧~!一波波的辨析题正在袭来,快快开启防御,杀出重围,来一场绝地反击! 僵尸,啊,不对,辨析三连发! 扫描了众多的面试题,发现--额--各个技术之间的辨析真的是如僵尸一般,一波一波的~ 相信不少人都在面试当中遇到过各类的辨析题,面试的画风大概是这样的 -- 面试官:strong.em.b.i的区别是什么? 面试官: