代码类面试题

1.this的指向

复制代码

function Cat (name) {

    this.name = name;

}

Cat.prototype.sayCatName = () => {

    console.log(this === window);

    return this.name;

};


const cat = new Cat('Miao');


cat.sayCatName();

 
//结果为:true
复制代码

2.let和var定义变量

复制代码
for (var i = 0; i < 3; i++) {
 setTimeout(() => console.log(i), 1);
}
for (let i = 0; i < 3; i++) {
 setTimeout(() => console.log(i), 1);
}
//结果
3 3 3
0 1 2
复制代码

3.对象的引用的是对象的地址

let c = { greeting: "Hey!" };
let d;
d = c;
c.greeting = "Hello";
console.log(d.greeting);
//结果:
hello

4.this在箭头函数中的指向

复制代码
function Person(firstName, lastName) {
 this.firstName = firstName;
 this.lastName = lastName;
}
const member = new Person("Lydia", "Hallie");
Person.getFullName = () => this.firstName + this.lastName;

console.log(member.getFullName());
//结果
member.getFullName is not a function
    at <anonymous>:8:20
报错该对象没有这个方法
复制代码

5.对象进行===时的情况

复制代码
function checkAge(data) {
 if (data === { age: 18 }) {
 console.log("You are an adult!");
 } else if (data == { age: 18 }) {
 console.log("You are still an adult.");
 } else {
 console.log(`Hmm.. You don't have an age I guess`);
 }
}
checkAge({ age: 18 });
//结果:You don't have an age I guess
进入了else
复制代码

 

posted @   前端乔  阅读(145)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
点击右上角即可分享
微信分享提示