标签 javascript 下的文章

后端好书阅读与推荐


后端好书阅读与推荐

这一两年来养成了买书看书的习惯,陆陆续续也买了几十本书了,但是一直没有养成一个天天看书的习惯。今天突然想要做个决定:每天至少花1-3小时用来看书。这里我准备把这两年来看的书挑出好的做一个简要总结、即将要看的书做一个计划,以便整理成书单留给自己学习,也顺便推荐给需要的童鞋。

ps:本书单针对同一大类的知识点大致遵循着循序渐进,越学越深入越具体的顺序。

JavaScript高级程序设计

JavaScript高级程序设计(第3版) (豆瓣) https://book.douban.com/subject/10546125/

有人可能会有疑问,后端为啥要学JavaScript呢?其实就是为了更好的使用node.js做铺垫。这本书说是高级程序设计,其实还是比较基础,但是难能可贵的是它几乎包含了所有的基础知识,而且对基础知识的讲解比较深入,至少看了过后就不会犯那些常见的错误(比如for循环绑定变量i,这个问题几乎天天有人问(⊙﹏⊙)),能知其然、知其所以然,而且讲了许多最佳实践,所以还真的是高级。对于后端的同学可以只看基础部分,不看浏览器相关的部分(当然时间多也可以了解)。

本书有很多值得学习的地方,比如

  • 建议始终语句结尾要加分号,分支始终要加花括号,这样虽然多了些小麻烦,但能省去很多大麻烦:提高解析器性能,避免压缩错误,代码易读性可维护性更好。
  • 推荐使用 === 和 !== 而不是用 == 和 != ,这样才能保证代码中数据的完整性,避免歧义。
  • with语句不仅容易造成混淆,还会影响性能,不建议使用。
  • 函数按值传参,没有按引用传参,基本类型就不用说了,即使是引用类型参数a,函数也并不能修改a,使得a指向堆里面的另一个对象,所以也是按值传递。
  • 函数传参之时,使用对象字面量{}来封装大量的可选参数,比直接命名多个参数更灵活。


Nodejs中的一些小trick


之前常常因为不注意,习惯用写PHP或者Java的方式来写nodejs,产生了了一些错误,这里总结一些小小的trick,以便于展示nodejs的不同,和平时需要注意的地方。

变量提升

var variable = 'global';
console.log(variable); 
function fn () {
    console.log(variable); 
    var variable = 'local';
    console.log(variable);
}
fn();

你可能以为这段代码执行结果为:

global
global
local

但实际上结果是