vuepress-theme-vdoing/docs/01.前端/01.JavaScript/01.JavaScript中的名词概念.md

1.9 KiB
Raw Blame History

title date permalink
JavaScript中的名词概念 2019-12-25 70d1485bb4e5754b

JavaScript中的名词概念

什么是作用域?

变量存在的范围。可分为全局作用域和函数作用域ES6新增块级作用域。

什么是闭包?

闭包就是能够读取其他函数内部变量的函数。

  • 闭包的形式:函数内部定义函数
  • 本质上闭包就是将函数内部和外部连接起来的一座桥梁

闭包的作用:

  • 可以读取函数内部变量
  • 让这些变量始终保持在内存中,即闭包可以使得它诞生的环境一直存在。
  • 封装对象的私有属性和私有方法

什么是构造函数?

用于构造(生成)实例的一个函数,使实例拥有构造函数内定于的属性和方法。

什么是实例对象?

实例对象就是通过new 构造函数生成的,拥有构造函数内定于的属性和方法的一个对象。

什么是this

就是属性或方法当前所在的对象,指向当前运行环境(对象)

什么是原型?

每个函数都有一个prototype属性指向一个对象该对象称为原型对象。

什么是原型链?

所有对象都有自己的原型对象,由于原型对象也是对象,因此它也有自己的原型,这就会形成一个原型链。

最顶层的原型是Object.prototype。

读取对象属性时JS会先在对象自身上找找到就直接返回如果找不到会到原型上找如果还是找不到就会去原型的原型上找最终会到最顶层的Object.prototype上找还是找不到就会返回undefined。

什么是constructor

prototype原型对象都有一个constructor属性默认指向prototype对象所在的构造函数。

什么是包装对象?

包装对象指的是将原始类型(数字、字符串、布尔值)进行实例化。