摘要:
作用域分为两种,一种是词法作用域,一种是动态作用域,我们先看第一种,词法作用域 词法作用域就是定义在词法阶段的作用域(编译器的第一个工作阶段叫做词法化,词法化的过程会对源代码中的字符进行检查)。换句话说,词法作用域是由你在写代码时将变量和块作用域写在哪里来决定的。因此词法分析器处理代码时会保持作用域 阅读全文
摘要:
在变量还没有声明, LHS,RHS 两种查询的行为是不一样的 function foo(a){ console.log(a+b); b=a; } foo(2); 第一次对 b 进行 RHS 查询时是无法找打该变量对,如果 RHS 查询在所有嵌套的作用域中遍寻不到所需的变量,引擎就会抛出 Refere 阅读全文
摘要:
作用域是根据名称查找变量的一套规则。实际情况下,通常需要同时顾及几个作用域。来看两个例子 function foo(a){ console.log(a); //2 } foo(2); 把这段代码的处理过程想象成一段对话 引擎:我说作用域,我需要为 foo 进行 RHS 引用,你见过它吗? 作用域:别 阅读全文
摘要:
对代码进行处理的三个角色 引擎:从头到尾负责整个 JavaScript 程序的编译和执行过程 编译器:负责语法分析及代码生成等 作用域:负责收集并维护所有变量的查询 var a = 2; 编译器首先会将这段程序分解成词法单元,然后将词法单元流解析成一个树结构。然后将树结构转换成可执行代码,也就是计算 阅读全文
摘要:
JavaScript 是一门编译语言,它不是提前编译的,这是与传统的编译语言不同的地方。但是其编译步骤和传统的编译语言非常相似 编译:程序中的一段源代码在执行之前会经历三个步骤,统称为“编译” 1、分词/词法分析 将字符串 分解成 代码块(词法单元) var a = 2; 分解成 var、a、=、2 阅读全文
摘要:
sudo killall mDNSResponder 安装应用的权限 sudo spctl --master-disable 阅读全文
只有注册用户登录后才能阅读该文。 阅读全文
摘要:
service workers 因为 js 是单线程的,如果有前端部分数据大量渲染和计算的情况下,会导致页面渲染非常慢,会遭到阻塞。因为 js 是会阻塞页面渲染的。有没有办法,用 service workers 在背后进行大规模的运算。比如 webgl 这样的 3d 渲染,但是 3d 存在一个很大的 阅读全文
只有注册用户登录后才能阅读该文。 阅读全文
只有注册用户登录后才能阅读该文。 阅读全文