知道如何使用纯函数进行声明式编程是一个人应该具备的另一种关键技能,因为它可以完全改变你的编码方式,变得更好。使用函数式编程,您可以纯粹通过函数编写代码,避免共享状态、数据突变和副作用。由于函数式编程的声明性质,生成的代码更简洁、可预测并且更易于测试和更改。此外,由于它简洁,可以更快地执行代码,从而缩短加载时间。学习函数式编程可能既困难又耗时,但它所带来的优势使其值得花时间。
编写跨浏览器代码:
一般来说,互联网用户不会坚持只使用一个网络浏览器;有些人可能更喜欢使用Internet Explorer,而其他人可能更喜欢使用 Google Chrome。在这种情况下,您无法编写在单个 Web 浏览器上运行的代码,因为这会严重限制您的网站受众并阻碍您网站的增长潜力
为了确保您的网站可以在流行的浏览器、移动设备和任何其他网络浏览设备上使用,编写与多个网络浏览器兼容的 JavaScript 代码至关重要。
高效的内存管理:
编写内存高效的 JavaScript 代码的能力是一项随着时间的推移而发展起来的技能,但您仍然应该知道这一技能。任何 Web 应用程序或网站都可能泄露内存,如果代码不适合内存优化,则会导致速度变慢。内存泄漏有时甚至会导致大量性能问题,因为它们最终会消耗大量宝贵的系统资源。尽管 JavaScript 有自己的自动内
最开始学习的就是HTML和Javascript,到现在一共看过4本Javascript书,也可以说正好是某阶段正好需要的那本书。
JavaScript从入门到精通
----------------------------
先推荐这本,不用多说,看书名就知道了,这本书对于初学者很实用,可以把一个门外汉带入门。
第1篇:基础知识。本篇通过初识JavaScript、JavaScript基础、流程控制、函数、JavaScript对象与数组、字符串与数值处理对象、正则表达式、程序调试与错误处理等内容,并结合大量的图示、实例、视频等使读者快速掌握JavaScript,为以后的学习奠定坚实的基础。
第2篇:核心技术。本篇介绍事件处理、处理文档(document对象)、文档对象模型(DOM对象)、window窗口对象、级联样式表、表单和表单元素等内容。学习完该篇,能够了解和熟悉JavaScript语言。
第3篇:高级应用。本篇介绍页面打印、使用Cookie、图像处理、浏览器检测、嵌入式对象、JavaScript中的XML、JavaScript的安全、Ajax技术、jQuery技术等内容。学习完该篇,可以熟练使用JavaScript技术编写脚本代码,并可以了解Ajax技术及jQuery技术等。
JavaScript权威指南
----------------------------
已经有上本书的经验了,证明你已经入门了,看这本书正合适。前三分之一是JavaScript语言知识讲解,中间三分之一是客户端JavaScript,后面三分之一是参考手册,看这本书最好有些基础,如果没基础要多看几遍才会掌握。唯一的不足就是太厚太沉了,不方便。
JavaScript高级程序设计
----------------------------
当看到这本书时,你已经算是一个老手了,这本书写的很透彻、很到位,对于前端开发人员来说,要想有更高的发展,此书可以助你一臂之力!第3版还加入了不少新内容,包括html5等新API,很值得一读。对于想在webapp方面发展的人士,此书也能有所帮助。
JavaScript设计模式
-----------------------------
看这本书的人,基本已经可以称之高手了,每一个高阶程序员应借鉴和学习, 介绍各种设计模式的原则和准确定义、应用方法实践。
引用一段vuejs官方的解释。vue对比其它框架
Angular
选择 Vue 而不选择 Angular,有下面几个原因,当然不是对每个人都适合:
在 API 与设计两方面上 Vue.js 都比 Angular 简单得多,因此可以快速地掌握它的全部特性并投入开发。
Vue.js 是一个更加灵活开放的解决方案。它允许以希望的方式组织应用程序,而不是任何时候都必须遵循 Angular 制定的规则。它仅仅是一个视图层,所以可以将它嵌入一个现有页面而不一定要做成一个庞大的单页应用。在配合其他库方面它给了更大的的空间,但相应,也需要做更多的架构决策。例如,Vue.js 核心默认不包含路由和 Ajax 功能,并且通常假定在应用中使用了一个模块构建系统。这可能是最重要的区别。
Angular 使用双向绑定,Vue 也支持双向绑定,不过默认为单向绑定,数据从父组件单向传给子组件。在大型应用中使用单向绑定让数据流易于理解。
在 Vue.js 中指令和组件分得更清晰。指令只封装 DOM 操作,而组件代表一个自给自足的独立单元 —— 有自己的视图和数据逻辑。在 Angular 中两者有不少相混的地方。
Vue.js 有更好的性能,并且非常非常容易优化,因为它不使用脏检查。Angular,当 watcher 越来越多时会变得越来越慢,因为作用域内的每一次变化,所有 watcher 都要重新计算。并且,如果一些 watcher 触发另一个更新,脏检查循环(digest cycle)可能要运行多次。 Angular 用户常常要使用深奥的技术,以解决脏检查循环的问题。有时没有简单的办法来优化有大量 watcher 的作用域。Vue.js 则根本没有这个问题,因为它使用基于依赖追踪的观察系统并且异步列队更新,所有的数据变化都是独立地触发,除非它们之间有明确的依赖关系。唯一需要做的优化是在 v-for 上使用 track-by。
有意思的是,Angular 2 和 Vue 用相似的设计解决了一些 Angular 1 中存在的问题。
React
React.js 和 Vue.js 确实有一些相似 —— 它们都提供数据驱动、可组合搭建的视图组件。当然它们也有许多不同。
首先,内部实现本质上不同。React 的渲染建立在 Virtual DOM 上——一种在内存中描述 DOM 树状态的数据结构。当状态发生变化时,React 重新渲染 Virtual DOM,比较计算之后给真实 DOM 打补丁。
Virtual DOM 提供了一个函数式的方法描述视图,这真的很棒。因为它不使用数据观察机制,每次更新都会重新渲染整个应用,因此从定义上保证了视图与数据的同步。它也开辟了 JavaScript 同构应用的可能性。
Vue.js 不使用 Virtual DOM 而是使用真实 DOM 作为模板,数据绑定到真实节点。Vue.js 的应用环境必须提供 DOM。但是,相对于常见的误解——Virtual DOM 让 React 比其它的都快, Vue.js 实际上性能比 React 好,而且几乎不用手工优化。而 React,为了最优化的渲染需要处处实现 shouldComponentUpdate 和使用不可变数据结构。
在 API 方面,React(或 JSX)的一个问题是,渲染函数常常包含大量的逻辑,最终看着更像是程序片断(实际上就是)而不是界面的视觉呈现。对于部分开发者来说,他们可能觉得这是个优点,但对那些像咱一样兼顾设计和开发的人来说,模板能让自己更好地在视觉上思考设计和 CSS。JSX 和 JavaScript 逻辑的混合干扰了自己将代码映射到设计的思维过程。相反,Vue.js 通过在模板中加入一个轻量级的 DSL (指令系统),换来一个依旧直观的模板,且能将逻辑封装进指令和过滤器中。