首页
题库
面试
求职
学习
竞赛
More+
所有博客
搜索面经/职位/试题/公司
搜索
我要招人
去企业版
登录 / 注册
牛客图书馆
>
读书笔记
开通博客写笔记
读书笔记
全部
第1章
第2章
我们仍未知道那天所看见的JavaScript的秘密——作用域
在传统编译语言的流程中,程序中的一段源代码在执行之前会经历三个步骤,统称为“编译”。 分词/词法分析(Tokenizing/Lexing)这个过程会将由字符组成的字符串分解成(对编程语言来说)有意义的代码块,这些代码块被称为词法单元(token)。例如,考虑...
国服倒一CRUD
编辑于 2019-11-13 13:07:38
我们仍未知道那天所看见的JavaScript的秘密——提升
我们习惯将 var a = 2;看作一个声明,而实际上 JavaScript 引擎并不这么认为。它将 var a 和 a = 2 当作两个单独的声明,第一个是编译阶段的任务,而第二个则是执行阶段的任务。这意味着无论作用域中的声明出现在什么地方,都将在代码本身被...
国服倒一CRUD
编辑于 2019-11-13 17:34:08
我们仍未知道那天所看见的JavaScript的秘密——引擎如何查找变量
编译器在编译过程的第二步中生成了代码,引擎执行它时,会通过查找变量 a 来判断它是否已声明过。查找的过程由作用域进行协助,但是引擎执行怎样的查找,会影响最终的查找结果。 引擎查找变量的方式分两种: LHS:查找变量的引用,需要赋值的时候才使用 RHS:查找变...
国服倒一CRUD
编辑于 2019-11-13 15:02:34
我们仍未知道那天所看见的JavaScript的秘密——this规则优先级
函数是否在 new 中调用(new 绑定)?如果是的话 this 绑定的是新创建的对象。var bar = new foo() 函数是否通过 call、apply(显式绑定)或者硬绑定调用?如果是的话,this 绑定的是指定的对象。var bar = foo....
国服倒一CRUD
编辑于 2019-11-19 17:20:42
我们仍未知道那天所看见的JavaScript的秘密——bind
bind(..) 的功能之一就是可以把除了第一个参数(第一个参数用于绑定 this)之外的其他参数都传给下层的函数(这种技术称为“部分应用”,是“柯里化”的一种)。举例来说: function foo(p1,p2) { this.val = p1 + p2...
国服倒一CRUD
编辑于 2019-11-19 18:07:03
我们仍未知道那天所看见的JavaScript的秘密——闭包
一、先理解什么是词法作用域。词法作用域:词法作用域是由你在写代码时将变量和块作用域写在哪里来决定的 包含着整个全局作用域,其中只有一个标识符:foo。 包含着 foo 所创建的作用域,其中有三个标识符:a、bar 和 b。 包含着 bar 所创建的作用域,...
国服倒一CRUD
编辑于 2019-11-13 18:59:25
我们仍未知道那天所看见的JavaScript的秘密——访问描述符(Getter and Setter)
var myObject = { // 给 a 定义一个 getter get a() { return 2; } }; myObject.a; // 2var obj = { // 给 a 定义一个 getter get a() { ...
国服倒一CRUD
编辑于 2019-12-06 10:13:58
我们仍未知道那天所看见的JavaScript的秘密——属性描述符
var obj = { a: 2 }; Object.getOwnPropertyDescriptor(obj, "a"); // { // value: 2, // 值 // writable: true, // 可写 /...
国服倒一CRUD
编辑于 2019-11-30 13:42:32
我们仍未知道那天所看见的JavaScript的秘密——this
学习 this 的第一步是明白 this 既不指向函数自身也不指向函数的词法作用域。this 实际上是在函数被调用时发生的绑定,它指向什么完全取决于函数在哪里被调用,即调用位置。 调用位置:调用位置就是函数在代码中被调用的位置(而不是声明的位置)。对象属性引用...
国服倒一CRUD
编辑于 2019-11-19 16:10:27
我们仍未知道那天所看见的JavaScript的秘密——箭头函数中的this
function foo() { return function() { console.log(this.a) } } let obj1 = { a: 'obj1' } let obj2 = { a: 'obj2' } let bar...
国服倒一CRUD
编辑于 2019-11-25 16:43:52
热门图书
什么是数学
科瓦奇讲植物、动物、天文与地理
昆虫Q&A
Ruby元编程
UNIX网络编程 卷2
Ruby元编程(第2版)
查看全部