// a 是多少的时候 可以让下面的打印ok
if(a == 1 && a == 2 && a ==3){
console.log('ok')
}

  分析1:

== 比较,如果左右左右两边数据类型不一样  对象 == 字符串  把对象转为字符串,剩下的情况都要转数字

  分析2:

基本数据类型转数字,默认隐式调用Number()来处理,所以此处a必定不能是基本数据类型

  分析3:

对象转数字;先转为字符串(先调用valueOf ,获取原始值,如果原始值不是基本类型,继续调用toString ),然后把字符串转数字 

所以答案有以下三种

var a = {
i:1,
valueOf(){
return this.i++
}
}

  第二种

var a = [1,2,3]
a.toString = a.shift;
// 当a去比较的时候,一定会调用toString方法, 我现在让他执行shift 每次都去取数组第一项

第三种 使用Object.defineProperty

// 使用数据劫持
var i = 1
Object.defineProperty(window, 'a', {
get() {
return i++
}
})

  

  

通过面试题学JavaScript知识(1)的更多相关文章

  1. 怎么学JavaScript?

    作者:小不了链接:https://zhuanlan.zhihu.com/p/23265155来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处. 鉴于时不时,有同学私信问我( ...

  2. 统一回复《怎么学JavaScript?》

    作者:小不了链接:https://zhuanlan.zhihu.com/p/23265155来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处. 鉴于时不时,有同学私信问我( ...

  3. 《jQuery风暴》第2章 必须知道的JavaScript知识

    第2章 必须知道的JavaScript知识 JavaScript是jQuery应用的基础,掌握JavaScript这门语言是使用jQuery的基础条件.本章不会全面细致的讲解JavaScript的全部 ...

  4. JavaScript知识(一)

    首先想为大家分享两句话: 侧耳听智慧,专心求聪明,呼求明哲,扬声求聪明.——箴言2:2-3 你要保守你心,胜过保守一切,因为一生的果效,是由心发出.——箴言 4:23 ...O(∩_∩)O...今天学 ...

  5. WEBBASE篇: 第十篇, JavaScript知识5

    JavaScript知识5 <!doctype html> <html lang="en"> <head> <meta charset=& ...

  6. 《零基础学JavaScript(全彩版)》学习笔记

    <零基础学JavaScript(全彩版)>学习笔记 二〇一九年二月九日星期六0时9分 前期: 刚刚学完<零基础学HTML5+CSS3(全彩版)>,准备开始学习JavaScrip ...

  7. 【原文】前端程序员必须知道的高性能Javascript知识

    原文:前端程序员必须知道的高性能Javascript知识 想必大家都知道,JavaScrip是全栈开发语言,浏览器,手机,服务器端都可以看到JS的身影. 本文会分享一些高效的JavaScript的最佳 ...

  8. web前端面试试题总结---javascript篇

    JavaScript 介绍js的基本数据类型. Undefined.Null.Boolean.Number.String. ECMAScript 2015 新增:Symbol(创建后独一无二且不可变的 ...

  9. Javascript知识——事件

    O(∩_∩)O~~又是新的一周开始了,今天还是在继续学习Javascript知识,今天主要讲了事件的知识.现在就总结下吧. 事件 事件一般是用于浏览器和用户操作进行交互.最早是 IE 和 Netsca ...

随机推荐

  1. tp6 验证方式

    think验证方式

  2. 解决 Vue 项目 invalid host header 问题(两种方案)

    问题出现背景 做微信H5网页时,使用花生壳内网穿透进行调试时,打开网页显示:invalid host header 分析问题 这句话的意思是:无效的Host请求头: 因为在vue在调试时相当于启动了一 ...

  3. JDBC学习一---JDBC入门

    原文链接 今天开始会写一系列 Java 后端学习的笔记,一方面是为了以后翻阅查看,更主要的原因是通过写作输出的方式让自己的印象更深,避免遗忘. 首先是简单记录下自己学习使用 JDBC 的历程,由于目前 ...

  4. CentOS7安装MYSQL8.X详细教程

    1-首先查看系统是否存在mysql,无则不返回 # rpm -qa|grep mysql 2-安装wget # yum -y install wget 3-抓取mariadb并删除包,无则不返回 # ...

  5. [MySQL]MySQL8.0的一些注意事项以及解决方案

    MySQL8.0 注意事项以及解决方案 1. MySQL8.0 修改大小写敏感配置 天坑MySQL8.0! 在安装后, 便无法通过修改配置文件,重启服务,或者执行sql来更改数据库配置, 要想配置的话 ...

  6. burp token爆破(DVWA high暴力破解)

    一.选择Pitchfork模式.选择要爆破的参数 二.options设置 找到optiops(设置)把线程设为1 配置Grep=Extract,点添加 点击Refetch  response 获取返回 ...

  7. MVC 生成安全验证码(例:用于登陆验证)(转)

    ---------html <td>验证码:</td> <td> <img src="/Login/CheckCode?ID=1" id= ...

  8. 深度优先算法--对DFS的一些小小的总结(一)

    提到DFS,我们首先想到的是对树的DFS,例如下面的例子:求二叉树的深度 int TreeDepth(BinaryTreeNode* root){ if(root==nullptr)return 0; ...

  9. C++获取设备 PID,VID 信息

    可直接编译(设置成:使用多字节字符集) 转来的,代码: /* http://www.experts-exchange.com/Programming/Editors_IDEs/Q_24506125.h ...

  10. react核心?

    虚拟DOM, Diff算法, 遍历key值 react-dom: 提供了针对DOM的方法,比如:把创建的虚拟DOM,渲染到页面上 或 配合ref来操作DOM react-router