- 博客(5)
- 收藏
- 关注
原创 Js 作用域和作用域链
Js 作用域和作用域链 作用域指的就是 变量和函数(方法)能在哪些区域能调用和使用,全局变量和函数(方法)能在任何地方调用,当然前提是你在声明变量(注意这里指的变量)之后调用,如果在函数内或者函数外没有声明变量直接调用,js会抛出提示引用错误如下: 如果在函数内或函数外没有写var或 let 关键字赋值一个未声明的变量,那么js会直接在全局上添加这个为未声明的变量作为全局变量: 全局变量和函数...
2019-05-27 23:44:47 99
原创 js 事件循环机制
js 的非阻塞I/O 就是由事件循环机制实现的 众所周知 js是单线程的 也就是上一个任务完成后才能开始新的任务 那js碰到ajxa和定时器、promise这些异步任务怎么办那?这时候就出现了事件队列。 js的主要执行栈 称为主栈 用ajax举例: 代码执行的时候如果遇到ajax怎么办,ajax事件的实现 是浏览器上的一个功能或者说是线程,当js主栈执行到ajax事件,js会告...
2019-06-05 17:28:02 99
原创 原型、原型链和怎么实现的继承
什么是原型? 声明函数时 js会自动在你声明的函数对象(js一切皆对象)上挂载一些方法和属性 其中prototype属性就是 原型(也称为原型对象) 如下图: 这个原型对象里面保存着 constructor 自己的函数体(也就是Pro.prototype.constructor) 看下图就应该知道了吧 (Pro === Pro.prototype.constructor...
2019-05-30 20:57:26 992
原创 对象的属性类型 和 VUE的数据双向绑定原理
如[[Configurable]] 被两对儿中括号 括起来的表示 不可直接访问他们 修改属性类型:使用Object.defineProperty() //IE9+ 和标准浏览器 支持 查看属性的数据特性:Object.getOwnPropertyDescriptor() 上图输出的就是 属性类型分为两种:数据属性和访问器属性。 数据属性:有四个 [[Configu...
2019-05-28 16:25:19 236
原创 闭包
闭包 ———— 先说闭包作用,闭包是为了长期使用函数内的变量,由于作用域的原因(不明白的可以看我的上一篇文章),函数外部是不能访问使用函数内部的变量的,但是我们如果想使用函数内部变量怎么办,这时候闭包就产生了,js函数执行完会自动删除不被使用的变量,这里面也涉及到浏览器的垃圾处理机制了,简单说一下, 两种垃圾处理机制,一中是引用计数,一种是标记清除, ————用计数就是 变量被引用了计数加1,如果...
2019-05-28 00:20:26 74
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人