摘要: 一、_proto_和prototype的区别 _proto_和constructor是对象独有的。prototype是函数独有的 使用js构造函数来创建对象的时候,每个函数构造函数的内部都有一个属性prototype,该属性值是一个对象,包含了可以由该构造函数创建的所有实例的共享方法和属性,当使用构 阅读全文
posted @ 2022-02-21 10:15 大坏坏狼 阅读(52) 评论(0) 推荐(0) 编辑
摘要: 一 、闭包的概念 闭包其实就是一个可以访问其他函数内部变量的函数,常见的闭包方式就是在一个函数中常见另一个函数,创建的函数可以访问当前函数的局部变量 闭包的实质就是当前环境存在父级作用域的引用,是作用域链的一个特殊应用。 通常情况下,函数的内部变量是无法被外部访问到的,使用闭包,就具备了实现在外部函 阅读全文
posted @ 2022-02-18 10:57 大坏坏狼 阅读(93) 评论(0) 推荐(0) 编辑
摘要: 一、作用域与作用域链 作用域:定义变量的区域,它有一套访问变量的规则,这套规则用来管理浏览器浏览器引擎如何在当前作用域以及在潜逃的作用域中根据变量去寻找变量。 作用域链:保证执行环境对有权访问的所有变量和函数的有序访问,通过作用域链,我们可以访问到外层的环境的变量和函数。作用域的本质是一个指向变量对 阅读全文
posted @ 2022-02-17 16:37 大坏坏狼 阅读(101) 评论(0) 推荐(0) 编辑
摘要: 一、当JS在运行代码的时候,会产生三种执行上下文: 1、全局执行上下文 2、函数执行上下文 3、eval执行上下文 每个执行的上下文都有三个重要的属性: 1、变量对象(VO):包含变量,函数声明,函数形参,该属性只能在全局上下文中访问 2、作用域链:(JS采用词法作用域,也就是说变量在定义的时候就决 阅读全文
posted @ 2022-02-17 15:31 大坏坏狼 阅读(67) 评论(0) 推荐(0) 编辑
摘要: 当js执行代码的时候,会生成执行环境,只要代码不写在函数的内部,就是全局环境,代码写在函数内部,就是函数执行环境。 生成执行环境的时候,会有两个阶段,第一个阶段叫做创建阶段,第二段阶段为代码执行阶段。在第一个阶段的时候,js解释器会找出需要提升的变量和函数,并在内存中为其开辟好空间,变量值声明并且赋 阅读全文
posted @ 2022-02-11 15:10 大坏坏狼 阅读(29) 评论(0) 推荐(0) 编辑
摘要: 函数调用的几个场景:function foo() { console.log(this.a) } var a = 1 foo() const obj = { a: 2, foo: foo } obj.foo() const c = new foo()对于直接调用foo(),不管foo()函数放在什么 阅读全文
posted @ 2022-02-11 14:31 大坏坏狼 阅读(46) 评论(0) 推荐(0) 编辑
摘要: null和undefine都是基本数据类型,两种类型都只有一个值。 区别: 1、undefined表示已经声明未定义,null表示的是一个空对象(null并不是空对象,js的typeof会将null判断为对象,这是js的一个bug),多用于赋值给肯能返回对象的变量作为初始值。 2、undefine在 阅读全文
posted @ 2022-02-10 14:09 大坏坏狼 阅读(111) 评论(0) 推荐(0) 编辑
摘要: js的数据类型只有三种情况: 1、转换为布尔值 2、转换为数字 3、转换为字符串 初始值 转换类型 结果 number boolean 除了0,-0,NaN,其他都为true string boolean 除了空字符串都为true undefine,null boolean false 引用类型 b 阅读全文
posted @ 2022-02-10 11:35 大坏坏狼 阅读(83) 评论(0) 推荐(0) 编辑
摘要: 1、typeof console.log(typeof null) 输出为Object console.log(typeof [ ])输出为Object console.log(typeof function(){})输出为function 所以说,typeof对于基础类型来说,除了null判定为o 阅读全文
posted @ 2022-02-09 15:54 大坏坏狼 阅读(41) 评论(0) 推荐(0) 编辑
摘要: 一、js内置类型 基础类型:String, number, null, undefine, boolean, symbol, bigint 引用类型:Object(包含普通对象Object,数组对象Array,正则对象Regexp,日期对象Date,数学函数Math,函数对象function) !注 阅读全文
posted @ 2022-02-09 11:30 大坏坏狼 阅读(906) 评论(0) 推荐(0) 编辑