顺序执行?
代码示例 1:
1 | var foo = function () { |
代码示例 2:
1 | function foo() { |
第一个例子中用到了变量提升,第二个例子中用到了函数提升。JavaScript 引擎并非一行一行地分析和执行程序,而是一段一段地分析执行。当执行一段代码的时候,会进行一个“准备工作”。到底 JavaScript 引擎遇到一段怎样的代码时才会做“准备工作”呢?
代码示例 1:
1 | var foo = function () { |
代码示例 2:
1 | function foo() { |
第一个例子中用到了变量提升,第二个例子中用到了函数提升。JavaScript 引擎并非一行一行地分析和执行程序,而是一段一段地分析执行。当执行一段代码的时候,会进行一个“准备工作”。到底 JavaScript 引擎遇到一段怎样的代码时才会做“准备工作”呢?
JavaScript 采用了原型和原型链来实现类和继承(就是查找属性用的)。
当 JavaScript 查找一个对象上的属性的时候,在该对象上找不到就会去它的原型链上查找。比如:
1 | function Foo() {} |
原型和原型链主要由三个指针实现:
prototype
: 构造函数的prototype
属性指向原型对象__proto__
: 实例对象的__proto__
属性指向原型对象constructor
: 原型对象的constructor
属性指向构造函数Object
,是因为所有原型对象的__proto__
最终都指向Object.prototype
,而Object.prototype
的__proto__
为 null好久没回顾这个知识点了,我现在只记得 TCP 是有链接的,UDP 是无连接的;TCP 是可靠的,UDP 是不可靠的。技术细节已经全然忘光了,今天就来回顾一下。
先说几个几点结论,然后再说说细节: