作者:程序员小白条,个人博客
相信看了本文后,对你的面试是有一定帮助的!关注专栏后就能收到持续更新!
⭐点赞⭐收藏⭐不迷路!⭐
"use strict"
是在 JavaScript 中的严格模式声明。它是 ECMAScript 5 引入的一项特性,用于提供更强的错误检查和更规范的行为。使用严格模式有以下特点:
with
语句,可以避免在严格模式下使用。this
指向: 在函数内部,严格模式下 this
的值为 undefined
,而非严格模式下可能指向全局对象。delete
删除变量、函数等操作是被禁止的。使用 use strict
的区别在于它会对代码执行施加更多的限制和规则,提高代码质量和可维护性。
// 严格模式示例
"use strict";
// 在严格模式下,下面的代码会抛出错误
undefinedVariable = "Hello"; // ReferenceError: undefinedVariable is not defined
在 JavaScript 中,对象是否属于某个类通常通过检查其构造函数来判断。可以使用 instanceof
操作符来检查一个对象是否是某个类(或其原型链上的类)的实例。
示例:
class Animal {
// ...
}
const cat = new Animal();
if (cat instanceof Animal) {
console.log("cat is an instance of Animal");
} else {
console.log("cat is not an instance of Animal");
}
上述代码中,通过 instanceof
操作符检查 cat
是否是 Animal
类的实例。如果是,则输出相应的信息。
比如,JavaScript 是一种弱类型语言,因为它允许在运行时进行隐式类型转换,而无需明确的类型声明。
// JavaScript 示例(弱类型)
let x = "5";
let y = 10;
let result = x + y; // 字符串和数字相加,会发生隐式类型转换,结果为 "510"
在强类型语言中,上述操作可能会导致类型错误,需要显式进行类型转换。
解释性语言和编译型语言的区别在于它们的代码执行方式:
or…in和for…of是JavaScript中的两种循环语句,它们的区别如下:
for…in循环用于遍历对象的可枚举属性。它会遍历对象及其原型链上的所有可枚举属性,并将属性名赋值给循环变量。例如,可以使用for…in循环遍历对象的属性并进行操作。
for…of循环用于遍历可迭代对象(如数组、字符串、Set、Map等)。它会遍历对象中的每个元素,并将元素的值赋值给循环变量。例如,可以使用for…of循环遍历数组的元素并进行操作。
const arr = [1, 2, 3];
for (let item of arr) {
console.log(item); // 输出元素值:1, 2, 3
}
const obj = { a: 1, b: 2, c: 3 };
for (let prop in obj) {
console.log(prop); // 输出属性名:"a", "b", "c"
}
for…of循环不能直接用于遍历对象的属性,因为对象不是一个可迭代对象。但是可以通过结合Object.keys()方法和for…of循环来遍历对象的属性。Object.keys()方法会返回一个包含对象自身可枚举属性的数组,然后可以使用for…of循环来遍历这个数组,进而遍历对象的属性。
const obj = { a: 1, b: 2, c: 3 };
for (let key of Object.keys(obj)) {
console.log(key); // 输出属性名:"a", "b", "c"
}
ajax、axios和fetch都是用于发送HTTP请求的工具,它们的区别如下:
数组的遍历方法有以下几种:
forEach方法和map方法的区别如下:
const arr = [1, 2, 3];
arr.forEach((item, index) => {
console.log(item); // 输出数组元素:1, 2, 3
});
const arr = [1, 2, 3];
const newArr = arr.map((item, index) => {
return item * 2;
});
console.log(newArr); // 输出新数组:[2, 4, 6]
原型(prototype)是JavaScript中的一个对象特性,每个对象都有一个原型。原型链是由对象的原型组成的一条链,用于查找对象的属性和方法。
Object.prototype
来访问原型对象。在原型对象中定义的属性和方法可以被该对象的所有实例共享。原型和原型链的作用包括:
例如,可以通过构造函数和原型来创建对象,并使用原型链实现属性和方法的继承:
function Person(name) {
this.name = name;
}
Person.prototype.sayHello = function() {
console.log("Hello, " + this.name);
}
const person = new Person("Alice");
person.sayHello(); // 输出 "Hello, Alice"
开源项目地址:https://gitee.com/falle22222n-leaves/vue_-book-manage-system
已 300 + Star!
⭐点赞⭐收藏⭐不迷路!⭐