以下是关于“JavaScript必看的10道面试题总结(推荐)”的完整攻略。
1. 闭包
闭包是一种特殊的函数,它可以访问外部函数的变量,并且不会被外部函数释放。常规使用场景是,内部函数返回外部函数定义的函数,并在返回时携带外部变量的状态。
在以下示例中,我们定义了一个外部函数createCounter,它返回一个内部函数counter。内部函数counter捕获了外部函数的变量count,并在每次调用时更新。可以看出,外部函数的变量count即使超出了作用域,内部函数仍然可以成功地访问它。
function createCounter() {
let count = 0;
function counter() {
count++;
console.log(count);
}
return counter;
}
const myCounter = createCounter();
myCounter(); // 输出1
myCounter(); // 输出2
myCounter(); // 输出3
2. 原型
原型是JavaScript中的一个核心概念,它用于JavaScript中的面向对象编程。每个JavaScript函数都有一个原型对象(prototype),它包含函数的属性和方法。对象可以继承函数原型的属性和方法。当对象的属性或方法被调用时,JavaScript首先查找对象本身是否有这个属性或方法,如果没有,则查找该对象的原型。
在以下示例中,我们定义了一个人类Person,并为它的原型添加了方法speak和walk。然后创建了一个人员对象ami,并使用原型从Person原型继承speak和walk方法。
function Person(name, age) {
this.name = name;
this.age = age;
}
Person.prototype.speak = function() {
console.log(`${this.name} is speaking.`);
}
Person.prototype.walk = function() {
console.log(`${this.name} is walking.`);
}
const ami = new Person("Ami", 25);
ami.speak(); // 输出"Ami is speaking."
ami.walk(); // 输出"Ami is walking."
以上是对于“JavaScript必看的10道面试题总结(推荐)”的完整攻略。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:JavaScript必看的10道面试题总结(推荐) - Python技术站