2019-01-29
文法是编译原理中对语言的写法的一种规定,一般来说,文法分成词法和语法两种。
词法规定了语言的最小语义单元:token,可以翻译成“标记”或者“词”,我统一把 token 翻译成词。
从字符到词的整个过程是没有结构的,只要符合词的规则,就构成词,一般来说,词法设计不会包含冲突。词法分析技术上可以使用状态机或者正则表达式来进行。
概述我们先来看一看 Java...
Read More
2019-01-29
Completion 类型1234567891011function foo(){ try{ return 0; } catch(err) { } finally { console.log("a") }}console.log(foo()...
Read More
2019-01-29
函数的执行我们今天要讲的知识在网上有不同的名字,比较常见的可能有:
闭包;
作用域链;
执行上下文;
this 值。
实际上,尽管它们是表示不同的意思的术语,所指向的几乎是同一部分知识,那就是函数执行过程相关的知识。我们可以简单看一下图。
闭包闭包翻译自英文单词 closure,这是个不太好翻译的词,在计算机领域,它就有三个完全不相同的意义:编译原理中...
Read More
2019-01-29
在 ES3 和更早的版本中,JavaScript 本身还没有异步执行代码的能力,这也就意味着,宿主环境传递给 JavaScript 引擎一段代码,引擎就把代码直接顺次执行了,这个任务也就是宿主发起的任务。
但是,在 ES5 之后,JavaScript 引入了 Promise,这样,不需要浏览器的安排,JavaScript 引擎本身也可以发起任务了。
由于我...
Read More
2019-01-29
什么是面向对象?对象并不是计算机领域凭空造出来的概念,它是顺着人类思维模式产生的一种抽象(于是面向对象编程也被认为是:更接近人类思维模式的一种编程范式)。
那么,我们先来看看在人类思维模式下,对象究竟是什么。
对象这一概念在人类的幼儿期形成,这远远早于我们编程逻辑中常用的值、过程等概念。在幼年期,我们总是先认识到某一个苹果能吃(这里的某一个苹果就是一个对象...
Read More
2019-01-29
先来看下面几个问题
为什么有的编程规范要求用 void 0 代替 undefined?
字符串有最大长度吗?
0.1 + 0.2 不是等于 0.3 么?为什么 JavaScript 里不是这样的?
ES6 新加入的 Symbol 是个什么东西?
为什么给对象添加的方法能用在基本类型上?
Undefined、Null因为 JavaScript 的代码 un...
Read More
2019-01-29
第一个方法:建立知识架构如果让我做一个划分,前端的知识在总体上分成基础部分和实践部分,基础部分包含了 JavaScript 语言(模块一)、CSS 和 HTML(模块二)以及 浏览器的实现原理和 API(模块三),这三个模块涵盖了一个前端工程师所需要掌握的全部知识。
学完这三个部分,你再结合基本的编程能力,就可以应对基本的前端开发工作了。实践部分(模块四)重...
Read More
2019-01-26
## OSI模型wiki(开放式系统互联通信参考模型)(1984年)
应用层–提供为应用软件而设的接口,以设置与另一应用软件之间的通信。例如: HTTP,HTTPS,FTP,TELNET,SSH,SMTP,POP3等。
表示层–把数据转换为能与接收者的系统格式兼容并适合传输的格式。
会话层–负责在数据传输中设置和维护计算机网络中两台计算机之间的通信连接。
...
Read More
2019-01-25
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949...
Read More
2019-01-24
12npm i request request-promise cheerionpm index.js
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686...
Read More