莫方教程网

专业程序员编程教程与实战案例分享

Web前端面试题及答案,2020前端开发基础面试题


问题一:{} 和 [] 的 valueOf 和 toString 的结果是什么?

解析:{} 的 valueOf 结果为 {} ,toString 的结果为 "[object Object]"
[] 的 valueOf 结果为 [] ,toString 的结果为 ""

问题二:如何在 JS 中创建对象?

解析:(1)使用对象字面量:

let obj = {
name:"张三",
}

console.log(obj); // {name: "张三"}

(2)使用构造函数:

let obj = new Object();
obj.name = "张三";
console.log(obj); // {name: "张三"}

(3)使用 Object.create 方法:

let obj = Object.create({
name:"张三",
});

console.log(obj.name); // 张三

问题三:Object.freeze() 和 const 的区别是什么?

解析:const和Object.freeze是两个完全不同的概念。

const 声明一个只读的变量,一旦声明,常量的值就不可改变:

const person = {
name: "Leonardo"
};
let animal = {
species: "snake"
};

person = animal; // ERROR "person" is read-only

Object.freeze适用于值,更具体地说,适用于对象值,它使对象不可变,即不能更改其属性。

let person = {
name: "Leonardo"
};
let animal = {
species: "snake"
};
Object.freeze(person);
person.name = "Lima"; //TypeError: Cannot assign to read only property

'name' of object
console.log(person);

以上就是酷仔今天整理提供的Web前端开发面试题,希望为Web前端同学提供了有用的面试素材,以后酷仔每日均会提供Python及Web相关的习题。

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言