AI智能
改变未来

JavaScript Ninja–第一章笔记


1、无处不在的JavaScript

1.1 理解JavaScript

  • 函数是一等公民,函数与其他对象共存,并且能够像任何其他对象一样地使用,函数

    可以通过字面量创建,

    function foo(){consoloe.log(\'Hello world\')}
  • 可以赋值给变量,

      const key = function pass(){console.log(\'函数赋值给变量,赋值的是地址\')}
  • 可以作为函数参数进行传递,

      function foo(fn){fn()}//匿名箭头函数作为参数传递foo(()=>{return a+b})
  • 甚至可以作为返回值从函数中返回

      function foo(){return function seo(){a + b}}console.dir(foo())
  • 函数闭包–大部分人对闭包都缺乏理解,然而他却从根本上例证了函数对于JavaScript的重要性

  • 作用域–JavaScript还有块级作用域的变量,取而代之则是只能依赖函数级别的变量和全局变量

  • 基于原型的面向对象–JavaScript使用基于原型的面向对象,很多开发者试图用java思想来开发JavaScript往往会得到预期不同的结果

    对象、原型、函数和闭包的紧密结合组成了JavaScript,理解这些概念的紧密联系能大大提高编程能力,为开发各种类型的应用提供坚固的基础

    除开这些基础概念之外,一些语言的特性也会帮助我们书写优雅高效的代码

  • 生成器,一种可以基于一次请求生成多次值的函数,在不同请求之间也能挂起执行

  • Promise,更好的控制异步

  • 代理,让我们控制对特定对象的访问

  • 高级数组方法,书写更优雅的数组处理函数

  • Map,用于创建字典集合;Set,处理仅包含不重复项目的集合

  • 正则表达式,简化用代码书写起来很复杂的逻辑

  • 模块,把代码划分成为较小的可以自包含的片段,是项目更易于管理

  • 1.2 理解浏览器

    浏览器环境也就是V8引擎和node.js环境的区别

    客户端的web应用依赖于浏览器提供的架构,在此我们主要讨论 DOM、事件、计时器

    • 文档对象模型–DOM是Web应用的结构化的UI表现形式,至少最初由Web应用的HTML代码构成,为开发大型应用,不仅需要深入理解JavaScript的核心机制,还要学习DOM是如何构成的以及如何书写有效的DOM操作代码,我们才能学会如何创造高级的,动态的UI
    • 事件–大部分JavaScript应用都是事件驱动的应用,这表示大部分代码执行在某个特殊事件响应的上下文中,这样的时间例如网络事件、计时器、用户生成事件例如点击、鼠标移动、键盘按压事件
    • 浏览器API–帮助我们与世界交互,浏览器提供获取设备的信息、存储本地数据或与远程浏览器交互的API。本书我们会探索其中的一些API。完善编程技能并对浏览器提供的API有深入理解能让你走的更远。

    1.3 使用当前的最佳实践

    • 调试技巧
    • 测试
    • 性能分析

    1.4 提高跨平台开发能力

    • 桌面应用,通过使用如NW.js或Electron的库可以开发桌面应用。这些技术通常通过包装浏览器使我们能用标准的HTML、CSS和JavaScript(我们可以完全依赖我们的核心JavaScript和浏览器知识来开发)以及一些额外的访问文件系统的能力来构建桌面应用。从而能够开发真正独立于平台的桌面应用,它和我们在Windows、Mac和Linux上见到的应用看起来一样。

    • 移动应用,使用类似Apache Cordova的框架开发。与使用 Web 技术构建桌面应用一样,该应用框架也包装了浏览器,不过其中还包含一些额外的针对特定平台的API,从而让开发者能与移动平台交互。

    • 使用Node.js开发服务器端应用和嵌入式应用,Node.js是源自于浏览器的环境,使用了很多类似浏览器的底层原理。例如,Node.js 能执行 JavaScript 代码,并且也基于事件驱动。

    1.5 小结

    • 客户端Web应用作为如今最流行的应用,其概念、工具和技术从仅开发客户端Web应用已经深入到其他应用领域。理解客户端Web应用的基础能帮助你开发一系列不同领域的应用。

    • 为了提高开发技能,你需要深入理解JavaScript的核心机制和浏览器所提供的架构

    • 本书集中探讨了核心JavaScript的机制,例如函数、函数闭包和原型,还有一些新的JavaScript特性,例如生成器、promise、代理、映射、集合和模块。

    • JavaScript可以在大量的环境中执行,但所有环境的开端是我们将集中探讨的浏览器环境。

    • 除了JavaScript以外,我们还将探索浏览器内部,例如DOM (网页UI的一种结构化表示方式)和事件,这是因为客户端Web应用是事件驱动的应用。

    赞(0) 打赏
    未经允许不得转载:爱站程序员基地 » JavaScript Ninja–第一章笔记