独自闯荡上海,面试总结2
我们接着昨天说,昨天大概说了一些数据类型和原型链以及继承的东西,今天继续说下面的东西。 7.作用域和闭包 说到js面试,三座大山肯定是一个面试官都会问到,三座大山指的是原型和原型链·作用域闭包·异步,这三个我们先说一下第二个----------作用域闭包 相关题目: 说一下变量提升的理解? 说明this的几个使用场景? 10个<a>点击弹出对应序号? 如何理解作用域? 实际开发中闭包的作用? 首先第一个,考察的是你对代码执行上下文的理解,执行上下文比如下面代码: console.log(a); var a=100; 上面代码第一行打印出来肯定是undifind,因为变量执行顺序没有在调用时候定义。在看下面代码: fn("zhangsan"); function fn(name){ age=20; console.log(name,age); var age; } 上面代码执行时候输出的是什么?答案是:zhangsan,20; 为什么上面执行顺序不行,而第二个就可以,答案很简单,就是浏览器在读代码的时候会对函数声明和变量定义读取时候不一样,我具体也说不清,大家可以上网查一下,有花说不出哎,口才不好。。。。。。 变量提升理解就是变量定义和函数声明(注意函数声明和函数表达式不一样) this的相关问题 this用到的场景分为四种: 第一种:作为构造函数执行,代码如下: function