getting-started-with-javascript icon indicating copy to clipboard operation
getting-started-with-javascript copied to clipboard

推荐JavaScript的书籍

Open xugy0926 opened this issue 7 years ago • 8 comments

学习javascript书很重要,整个课程我只推荐一本书:JavaScript权威指南--淘宝前端团队 翻译。

image

xugy0926 avatar Aug 13 '17 04:08 xugy0926

如何利用这本书:

第一部分:

  1. 第1章 - 第7章是JS的基础。(JS课程的内容)
  2. 第8章 - 第9章是JS的重点重点重点。(JS课程的内容)
  3. 第10、第11可以暂时忽略。(JS课程不涉及到,以后同学们要进阶时阅读)

第二部分:

第二部分通篇都是和前端开发有关的内容。 (部分内容JS课程会涉及到)

第三部分和第四部分:

全都是内置服务的api。当字典来查。

xugy0926 avatar Aug 13 '17 04:08 xugy0926

老师,单纯利用w3school或网上的资源也行吗?会不会有的知识会学的不全?

SandZh avatar Aug 14 '17 06:08 SandZh

@zhangdarui w3cshool也可以,适合初学者。但是上面对知识不够深入。

xugy0926 avatar Aug 14 '17 11:08 xugy0926

《JavaScript权威指南》第37页,从上往下第四行: Number.MAX_VALUE + 1 书中说计算结果应该是Infinitity,但是在Chrome 60开发者工具的Console中,输入这个命令得到的结果却是1.7976931348623157e+308。甚至我输入Number.MAX_VALUE + 1,其值也是1.7976931348623157e+308。为什么会是这个结果呢?是因为ES6的规则有所变化?还是别的什么原因?

Dream4ever avatar Aug 16 '17 04:08 Dream4ever

上面的问题,在StackOverflow上的一个回答中看到了更多的示例: https://stackoverflow.com/questions/25532240/isfinitenumber-max-value-1-returns-true 我再找找解释原理的文章~~~

Dream4ever avatar Aug 16 '17 04:08 Dream4ever

已找到解答:由原来的关键字JavaScript number.max_value plus 1改为用关键字JavaScript number.max_value infinity搜索,在第一页的结果中,看到一个知乎上的回答:为什么在js中Number.MAX_VALUE + 1不是Infinity?,将原理解释得很清楚。

Dream4ever avatar Aug 16 '17 04:08 Dream4ever

又一个疑问:4.7.3 左值这一小节的正文里,提到左值的定义是:表达式只能出现在赋值运算符的左侧。这个定义要如何结合表4-1:JavaScript 运算符来理解呢?没有看明白。 @xugy0926

Dream4ever avatar Aug 19 '17 09:08 Dream4ever

@Dream4ever

左值的理解非常简单,即:等号左边就叫左值。

var name = 'xiaoming';
name = 'zhangxiaoming'; // 变量i是左值。

var colors = ['red', 'white', 'black'];
colors[1] = 'blue'; // colors[1]是左值

var personInfo = {
  name: 'xiaoming',
 age: 18
}

personInfo.name = 'zhangxiaoming'; // personInfo.name是左值。


甚至你还可以重新复制personInfo变量

personInfo = {
  name: 'xiaohua', 
  age: 16 
}

// personInfo是左值

在表4-1中,明确了i++这样的操作,i是左值,你可以等价下面的例子

var i = 1;
i++; // i是左值

等价于
i = i + 1 // i显然是左值!!

又比如

i *= 2;
等价于
i = i * 2;

xugy0926 avatar Aug 20 '17 04:08 xugy0926