JS 总结之事件循环

2018-12-27
阅读 5 分钟
1.2k
单线程意味着所有任务都需要按顺序执行,如果某个任务执行非常耗时,线程就会被阻断,后面的任务需要等上一个任务执行完毕才会进行。而大多数非常耗时的任务是网络请求,CPU 是闲着的,所以为了资源的充分运用,便有了异步的概念。

JS 总结之执行环境

2018-12-26
阅读 1 分钟
1.3k
? 运行环境 JavaScript 中,有三种代码运行环境: Global 环境 Function 环境 Eval 环境 为了表示不同的运行环境,JavaScript 中有一个执行环境的概念。 ? 执行环境 执行环境都有三个重要的属性: 变量对象 作用域链 this 这三个属性跟代码运行的行为有很重要的关系,在之前的文章中都有详细分析。具体可以查看《JS 总结...

JS 总结之变量对象

2018-12-26
阅读 2 分钟
1.2k
就如上一篇《JS 总结之闭包》中谈到的,闭包的形成是变量对象和作用域链共同作用的结果。 什么是变量对象?变量对象是执行环境的一个属性,储存在与执行环境相关的变量和函数声明。 🥇 不同执行环境中的变量对象 根据执行环境的不同,可分为全局执行环境的变量对象和函数执行环境的变量对象。 🤺 全局执行环境 首先我们需...

JS 总结之闭包

2018-12-25
阅读 3 分钟
1.2k
从《JS 总结之函数、作用域链》一文中知道作用域链的作用,保证了对所有变量对象的有序访问。 🐒 问题 函数外的是无法访问函数内部的变量,有时候要用到怎么办?我们的主角,闭包就是可以解决这个问题。 👷 什么是闭包 引用 MDN 上的解释: 闭包是函数和声明该函数的词法环境的组合。 引用 《JavaScript 高级程序设计(第 ...

JS 总结之函数、作用域链

2018-12-24
阅读 4 分钟
1.3k
在 JavaScript 中,函数实际上是一个对象。 ? 声明 JavaScript 用 function 关键字来声明一个函数: {代码...} 变体:函数表达式: {代码...} 这种没有函数名的函数被称为匿名函数表达式。 ?‍ return 函数可以有返回值 {代码...} 位于 return 之后的任何代码都不会执行: {代码...} 没有 return 或者只写 return,函数将...

JS 总结之原型继承的几种方式

2018-12-23
阅读 4 分钟
3.9k
在之前的总结中,我们详细分析了原型《JS 总结之原型》,原型很大作用用于模拟继承,这一次,我们来聊原型继承的几种方式。 {代码...} 🍖 方式 1:原型链继承(不推荐) {代码...} 缺点: 无法向父类构造函数传参 父类的所有属性被共享,只要一个实例修改了属性,其他所有的子类实例都会被影响 🌭 方式 2:借用构造函数(...

JS 总结之class

2018-12-23
阅读 2 分钟
2.1k
class 是 ES6 的新特性,可以用来定义一个类,实际上,class 只是一种语法糖,它是构造函数的另一种写法。(什么是语法糖?是一种为避免编码出错和提高效率编码而生的语法层面的优雅解决方案,简单说就是,一种便携写法。)

JS 总结之原型

2018-12-22
阅读 4 分钟
2.5k
在 JavaScript 中,函数也是属于对象,可以像其他对象一样访问属性,其中便有一个属性叫原型 prototype,值为一个对象,默认,原型有一个 constructor 属性,指向了构造函数本身。

JS 总结之关于 this 应该知道的几个点

2018-12-20
阅读 3 分钟
1.6k
JS 中的 this 对每位前端工程师都不陌生,经常看到对象这里 this 那里 this,那什么是 this?答案就是上下文对象,即被调用函数所处的环境,也就是说,this 在函数内部指向了调用函数的对象。

JS 总结之对象

2018-12-18
阅读 5 分钟
1.6k
我们都知道,对象一般是类的实例,如 Java,Python 等这类面向对象语言,而 JavaScript 中没有类,因此 JavaScript 中的对象不是类的实例,而是基于原型的对象。