js 面试题总结
面试题解析
window.number = 1;
var obj = {
number: 4,
dbl: (function(){
console.log(obj.number);
this.number *= 2;
console.log(obj.number);
return function () {
this.number *= 2;
}
})()
}
var dbl = obj.dbl;
dbl();
obj.dbl();
console.log(window.number);
console.log(obj.number);
关键是this的指向问题,在 this 有所属对象时就指向所属对象,没有所属对象就指向全局对象。
全体代码有两个作用域
全局作用域 number 、 obj
局部作用域 obj.nujber 、 obj.dbl
var dbl = obj.dbl;
obj.dbl 为立即执行函数
window.number = 1 * 2 = 2
执行结果为一个匿名函数
function () { this.number *= 2; }
dbl();
this ==> window
window.number = 2 * 2 = 4
obj.dbl();
this ==> obj
obj.number = 4 * 2 = 8
console.log(window.number);
执行结果为 window.number = 4
console.log(obj.number);
执行结果为 obj.number = 8
所以结果为 4,8
js 面试题总结的更多相关文章
- 10个常见的Node.js面试题
如果你希望找一份有关Node.js的工作,但又不知道从哪里入手评测自己对Node.js的掌握程度. 本文就为你罗列了10个常见的Node.js面试题,分别考察了Node.js编程相关的几个主要方面. ...
- 所在实习公司的JS笔试题
在班上无聊的时候看到了一份JS笔试题(我是电面进去的,没做过这份题~~),开始还觉得蛮简单......后来觉得还是很有意思的,贴出来一起看看. 题目一: if(!("a" in w ...
- 有点难度的JS面试题
自己总结了一些JS面试题 希望能够帮助正在找工作的程序猿(●´∀`●) 1.js 实现一个函数对javascript中json 对象进行克隆 var oldObject ="sdf" ...
- Node.js面试题之2017
译者按: 从ECMAScript标准,Node.js语法以及NPM模块角度来看,Node.js的发展让人目不暇接,那么面试题也得与时俱进. 原文: Node.js Interview Question ...
- vue.js面试题整理
Vue.js面试题整理 一.什么是MVVM? MVVM是Model-View-ViewModel的缩写.MVVM是一种设计思想.Model 层代表数据模型,也可以在Model中定义数据修改和操作的业务 ...
- 一道JS面试题引发的血案
刚入职新公司,属于公司萌新一枚,一天下午对着屏幕看代码架构时. BI项目组长给我看了一道面试别人的JS面试题. 虽然答对了,但把理由说错了,照样不及格. 话不多说,直接上题: var a = 1; s ...
- js经典试题之常用的方法
js经典试题之常用的方法 1.下面代码输出的值 let s = "bob" const replaced = s.replace('b', 'l') replaced === &q ...
- js经典试题之运算符的优先级
js经典试题之运算符 1.假设val已经声明,可定义为任何值.则下面js代码有可能输出的结果为: console.log('Value is ' + (val != '0') ? 'define' : ...
- js经典试题之ES6
js经典试题之ES6 1:在ECMAScript6 中,Promise的状态 答案:pending resolved(fulfilled) rejected 解析: Promise对象只有三种状态: ...
- js经典试题之w3规范系列
js经典试题之w3规范系列 1:w3c 制定的 javascript 标准事件模型的正确的顺序? 答案:事件捕获->事件处理->事件冒泡 解析:先事件捕获从windows > doc ...
随机推荐
- js封装正则验证
//根据不同的验证内容,返回相应的正则表达式 function returnRegString(regName) { if (regName == "email") { retur ...
- FZU 1064 教授的测试(卡特兰数,递归)
Problem 1064 教授的测试 Accept: 149 Submit: 364 Time Limit: 1000 mSec Memory Limit : 32768 KB Problem Des ...
- 更快写入的落脚点不是线程数而是mysql连接数 对数据库 批处理 批写入
批提交mysql 单线程的批提交 nohup python fromRedisoToMysqlSingleThreadOneConnBatchInsert.py 100 10.24.192.192 ...
- ClassicLink互通原理
ClassicLink概述_ClassicLink_用户指南_专有网络 VPC-阿里云 https://help.aliyun.com/document_detail/65412.html Class ...
- D2 Magic Powder -1/- 2---cf#350D2(二分)
题目链接:http://codeforces.com/contest/670/problem/D2 This problem is given in two versions that differ ...
- 洛谷P4428二进制 [BJOI2018] 线段树
正解:线段树 解题报告: 传送门! 话说开始看到这题的时候我想得hin简单 因为关于%3有个性质就是说一个数的各个位数之和%3=这个数%3嘛,小学基础知识? 我就想着,就直接建一棵树,只是这棵树要用个 ...
- 怎么在Linux上抓包分析
怎么在Linux上抓包分析 1.在Linux上抓包 例如在Ubuntu上,用命令抓包, tcpdump tcp -i any -s0 -w desk.cap 用 sz desk.cap 把数据包 ...
- python 面向对象 字典 有序字典
和原来字典一模一样 把dict 传进去 相当于这个类就是一个字典 # 把dict 传进去 相当于这个类就是一个字典 class Mydict(dict): pass d = Mydict() prin ...
- 201-React顶级API
一.概述 React是React库的入口点.如果您从<script>标记加载React,则这些顶级API可在React全局中使用.如果你使用npm的ES6,你可以写:import Reac ...
- 001-Spring的设计理念和整体架构
一.概述 1.1.Spring的各个子项目 网站:https://spring.io/ 基于Spring的项目:https://spring.io/projects 文档列表:https://spri ...