面试官:== 和 === 的区别?
对于 === 来说,是严格意义上的相等,会比较两个操作符的类型和值 。
条件例子返回值
===
===
true
null === null
null === null
true
===
文章插图
(当字符串顺序和字符完全相等的时候返回 true,否则返回 false)
‘a’ === ‘a’
‘a’ === ‘aa’
true
false
===
true === true
true === false
true
false
===
相同的返回 true,
不相同的返回 false
===
① 其中一个为 NaN,返回 false
② X 和 Y 值相等,返回 true
③ 0 和 -0,返回 true
④ 其他返回 false
NaN ==== NaN
NaN === 1
3 === 3
+0 === -0
false
false
true
true
而对于 ==来说,是非严格意义上的相等,先判断两个操作符的类型是否相等,如果类型不同,则先进行类型转换,然后再判断值是否相等 。
条件例子返回值
null ==
null ==
true
== , 转
‘2’ == 2
true
== , 转
true == 1
true
== ,,,将转化为原始类型再比较值大小
[1] == 1
[1] == ‘1’
true
true
其他返回 false
false
this
面试官:什么是 this 指针?以及各种情况下的 this 指向问题 。
this就是一个对象 。不同情况下 this指向的不同,有以下几种情况,(希望各位亲自测试一下,这样会更容易弄懂):
var obj = {name:'小鹿',age: '21',print: function(){console.log(this)console.log(this.name + ':' + this.age)}}// 通过对象的方式调用函数obj.print();// this 指向 obj
function print(){console.log(this);}// 全局调用函数print();// this 指向 window
function Person(name, age){this.name = name;this.age = age;console.log(this);}var xiaolu = new Person('小鹿',22);// this = > xaiolu
由于箭头函数没有单独的 this值 。箭头函数的 this与声明所在的上下文相同 。也就是说调用箭头函数的时候,不会隐士的调用 this参数,而是从定义时的函数继承上下文 。
const obj = {a:()=>{console.log(this);}}// 对象调用箭头函数obj.a(); // window
面试官:如何改变 this 的指向?
我们可以通过调用函数的 call、apply、bind 来改变 this的指向 。
var obj = {name:'小鹿',age:'22',adress:'小鹿动画学编程'}function print(){console.log(this);// 打印 this 的指向console.log(arguments);// 打印传递的参数}// 通过 call 改变 this 指向print.call(obj,1,2,3);// 通过 apply 改变 this 指向print.apply(obj,[1,2,3]);// 通过 bind 改变 this 的指向let fn = print.bind(obj,1,2,3);fn();
对于基本的使用想必各位小伙伴都能掌握,俺就不多废话,再说一说这三者的共同点和不同点 。
共同点:
不同点:
扩展:如果我们使用上边的方法改变箭头函数的 this 指针,会发生什么情况呢?能否进行改变呢?
由于箭头函数没有自己的 this 指针,通过 call() 或 apply() 方法调用一个函数时,只能传递参数(不能绑定 this),他们的第一个参数会被忽略 。
new
对于 new 关键字,我们第一想到的就是在面向对象中 new 一个实例对象,但是在 JS 中的 new 和 Java 中的 new 的机制不一样 。
- 《中国好声音》:音乐之声的坚守与探索 中国之声中国之最
- 票选杰克逊生前的经典演唱会,《历史》以将近六成的票数排名第一 历史演唱会之最
- 《芭比》票房达10亿美元:52部好莱坞最卖座的电影是哪些 美国电影的世界之最
- 华语十大恐怖片,《双瞳》排名第五,第一是恐怖片天花板 世界恐怖片十大排名榜
- 实操|《吉尼斯世界纪录大全》原来是健力士啤酒的心血 吉尼斯记录桌球
- 经典训练是人生必要的项目——读朱自清《经典常谈》 作文阅读的世界之最
- 揭秘《三国志》中有奇特经历和故事的女子
- 桃园三章
- 从《长安三万里》15亿票房里,看到国产电影崛起的秘密 历史上长安之最
- 《郑风山有扶苏》(诗经 中 ldquo 山有扶苏 隰有荷华 rdquo 扶苏指什