阿里巴巴js面试题3
2017-08-06 17:12
246 查看
该题难度系数: ★★★
考查的技术点: 1). this 2). 闭包
题目如下:
运行结果:
接下来我们分析一下:
第一道题:object.getNameFunc()里面有一个闭包,返回的是一个函数,然后加个()就表示函数的调用了。而此时是默认的执行方式,this代表window,那么name就是全局变量‘A’;
第二道题:注意到,里面先对this进行缓存起来,this代表object,当object.getNameFunc()返回一个函数时,调用就返回的是一个object的name2属性值'B'。
考查的技术点: 1). this 2). 闭包
题目如下:
var name = "A" var object = { name: "B", getNameFunc: function () { return function () { return this.name } } } console.log(object.getNameFunc()()) var name2 = "A" var object2 = { name2: "B", getNameFunc: function () { var that = this return function () { return that.name2 } } } console.log(object2.getNameFunc()())
运行结果:
接下来我们分析一下:
第一道题:object.getNameFunc()里面有一个闭包,返回的是一个函数,然后加个()就表示函数的调用了。而此时是默认的执行方式,this代表window,那么name就是全局变量‘A’;
第二道题:注意到,里面先对this进行缓存起来,this代表object,当object.getNameFunc()返回一个函数时,调用就返回的是一个object的name2属性值'B'。
相关文章推荐
- 阿里巴巴js面试题1
- 阿里巴巴js面试题2
- 阿里巴巴js面试题3
- 阿里巴巴js面试题2
- 【JS每日练习】阿里巴巴web前端开发面试题
- 阿里巴巴js面试题1
- 阿里巴巴面试题之二维数组有序
- 阿里巴巴校招2017前端笔试题目 -- 原生js/html5 实现一个路由
- Web前端面试题 Js把URL中的参数解析为一个对象
- JS打印一些数字 面试题
- js 面试题
- js基本面试题十道
- 10个常见的Node.js面试题
- js面试题测试
- 阿里巴巴面试题
- js面试题
- 为什么你在宾馆里一打开热水龙头就有热水流出来? - Google, 谷歌,百度,baidu,阿里巴巴,alibaba,微软,华为,huawei面试题
- 阿里巴巴MySQL DBA面试题答案[转]
- 网易JS面试题与Javascript词法作用域说明
- 昨晚阿里巴巴的一道面试题分析