前端面试 js

作用域链

内存管理

垃圾回收器

引用计数

默认栈里面会有一次引用

问题:循环引用,会产生内存泄漏

标记清除

垃圾回收期会定期从根开始遍历,找到有引用的对象

闭包

内存泄漏

this的指向

默认绑定

独立调用的this都是window

复制代码
function foo(){
  console.log(this)
}
foo()//独立 默认绑定
var obj={
  name:'gg',
  foo:foo
}
obj.foo()//this为obj   隐式绑定

隐式绑定

显示绑定

ps:虽然执行是独立的但已经显示绑定了this了

new绑定

优先级

原型链

复制代码
function Person(name) {
    this.name = name;
}
console.log(Person.prototype); //{}
//prototype为构造函数独有指向person的原型对象

Person.prototype.getName = function () {
    return this.name;
};

const alice = new Person("Alice");
// console.log(Object.getOwnPropertyDescriptors(Person.prototype.__proto__));

console.log(alice.__proto__ === Person.prototype) //true
// 实例对象的原型对象就是构造函数的原型对象
console.log(Person.prototype.constructor) //Person的构造函数
console.log(Person.prototype)
console.log(Person.prototype.__proto__ === Object.prototype) //true
//是对象都有__proto__属性,Object是object的构造函数
console.log(Person.__proto__ === Function.prototype) //true
console.log(alice.getName());
相关推荐
GalaxyPokemon2 小时前
LeetCode - 2. 两数相加
java·前端·javascript·算法·leetcode·职场和发展
你的人类朋友5 小时前
✍️【Node.js程序员】的数据库【索引优化】指南
前端·javascript·后端
CodeCraft Studio6 小时前
Excel处理控件Aspose.Cells教程:使用 C# 从 Excel 进行邮件合并
开发语言·c#·excel
小超爱编程6 小时前
纯前端做图片压缩
开发语言·前端·javascript
islandzzzz7 小时前
HMTL+CSS+JS-新手小白循序渐进案例入门
前端·javascript·css·html
Senar7 小时前
网页中如何判断用户是否处于闲置状态
前端·javascript
很甜的西瓜7 小时前
typescript软渲染实现类似canvas的2d矢量图形引擎
前端·javascript·typescript·图形渲染·canvas
KIDAKN8 小时前
java--怎么定义枚举类
java·开发语言
海天胜景8 小时前
C# 中常用的 字符串截取方法
开发语言·c#
阿芯爱编程9 小时前
最长和谐子序列,滑动窗口
前端·javascript·面试