通过面试题学JavaScript知识(1)
2021-01-20 08:14
标签:return object 情况 数字 现在 ring 基本 pre div 分析1: == 比较,如果左右左右两边数据类型不一样 对象 == 字符串 把对象转为字符串,剩下的情况都要转数字 分析2: 基本数据类型转数字,默认隐式调用Number()来处理,所以此处a必定不能是基本数据类型 分析3: 对象转数字;先转为字符串(先调用valueOf ,获取原始值,如果原始值不是基本类型,继续调用toString ),然后把字符串转数字 所以答案有以下三种 第二种 第三种 使用Object.defineProperty 通过面试题学JavaScript知识(1) 标签:return object 情况 数字 现在 ring 基本 pre div 原文地址:https://www.cnblogs.com/qqfontofweb/p/12902826.html// a 是多少的时候 可以让下面的打印ok
if(a == 1 && a == 2 && a ==3){
console.log(‘ok‘)
}
var a = {
i:1,
valueOf(){
return this.i++
}
}
var a = [1,2,3]
a.toString = a.shift;
// 当a去比较的时候,一定会调用toString方法, 我现在让他执行shift 每次都去取数组第一项// 使用数据劫持
var i = 1
Object.defineProperty(window, ‘a‘, {
get() {
return i++
}
})
下一篇:c 语言- 选择结构 if
文章标题:通过面试题学JavaScript知识(1)
文章链接:http://soscw.com/index.php/essay/44454.html