国服倒一CRUD
国服倒一CRUD
全部文章
读书笔记
学习日记(34)
未归档(1)
归档
标签
去牛客网
登录
/
注册
学会思考
Why the design?
全部文章
/ 读书笔记
(共10篇)
我们仍未知道那天所看见的JavaScript的秘密——访问描述符(Getter and Setter)
var myObject = { // 给 a 定义一个 getter get a() { return 2; } }; myObject.a; // 2var obj = { // 给 a 定义一个 getter get a() { return this._a_;...
JavaScript
2019-12-06
0
0
我们仍未知道那天所看见的JavaScript的秘密——属性描述符
var obj = { a: 2 }; Object.getOwnPropertyDescriptor(obj, "a"); // { // value: 2, // 值 // writable: true, // 可写 // configurable: t...
JavaScript
2019-11-30
0
0
我们仍未知道那天所看见的JavaScript的秘密——箭头函数中的this
function foo() { return function() { console.log(this.a) } } let obj1 = { a: 'obj1' } let obj2 = { a: 'obj2' } let bar = foo.call(obj1) ba...
JavaScript
2019-11-25
0
0
我们仍未知道那天所看见的JavaScript的秘密——bind
bind(..) 的功能之一就是可以把除了第一个参数(第一个参数用于绑定 this)之外的其他参数都传给下层的函数(这种技术称为“部分应用”,是“柯里化”的一种)。举例来说: function foo(p1,p2) { this.val = p1 + p2; } // 之所以使用 null 是因...
JavaScript
2019-11-19
0
0
我们仍未知道那天所看见的JavaScript的秘密——this规则优先级
函数是否在 new 中调用(new 绑定)?如果是的话 this 绑定的是新创建的对象。var bar = new foo() 函数是否通过 call、apply(显式绑定)或者硬绑定调用?如果是的话,this 绑定的是指定的对象。var bar = foo.call(obj2) 函数是否在某个上下...
JavaScript
2019-11-19
0
0
我们仍未知道那天所看见的JavaScript的秘密——this
学习 this 的第一步是明白 this 既不指向函数自身也不指向函数的词法作用域。this 实际上是在函数被调用时发生的绑定,它指向什么完全取决于函数在哪里被调用,即调用位置。 调用位置:调用位置就是函数在代码中被调用的位置(而不是声明的位置)。对象属性引用链中只有最顶层或者说最后一层会影响调用位...
JavaScript
2019-11-15
0
0
我们仍未知道那天所看见的JavaScript的秘密——闭包
一、先理解什么是词法作用域。词法作用域:词法作用域是由你在写代码时将变量和块作用域写在哪里来决定的 包含着整个全局作用域,其中只有一个标识符:foo。 包含着 foo 所创建的作用域,其中有三个标识符:a、bar 和 b。 包含着 bar 所创建的作用域,其中只有一个标识符:c。 二、闭包闭包...
JavaScript
2019-11-13
0
0
我们仍未知道那天所看见的JavaScript的秘密——提升
我们习惯将 var a = 2;看作一个声明,而实际上 JavaScript 引擎并不这么认为。它将 var a 和 a = 2 当作两个单独的声明,第一个是编译阶段的任务,而第二个则是执行阶段的任务。这意味着无论作用域中的声明出现在什么地方,都将在代码本身被执行前首先进行处理。可以将这个过程形象地...
JavaScript
2019-11-13
1
0
我们仍未知道那天所看见的JavaScript的秘密——引擎如何查找变量
编译器在编译过程的第二步中生成了代码,引擎执行它时,会通过查找变量 a 来判断它是否已声明过。查找的过程由作用域进行协助,但是引擎执行怎样的查找,会影响最终的查找结果。 引擎查找变量的方式分两种: LHS:查找变量的引用,需要赋值的时候才使用 RHS:查找变量的值,只需要得到变量的值的时候使用 ...
JavaScript
2019-11-13
0
0
我们仍未知道那天所看见的JavaScript的秘密——作用域
在传统编译语言的流程中,程序中的一段源代码在执行之前会经历三个步骤,统称为“编译”。 分词/词法分析(Tokenizing/Lexing)这个过程会将由字符组成的字符串分解成(对编程语言来说)有意义的代码块,这些代码块被称为词法单元(token)。例如,考虑程序var a = 2;。这段程序通常会...
JavaScript
2019-11-13
1
0