前端开发者指南(2017)编辑器,这成为一种趋势。 jQuery 仍有热度,但使用率和关注度都在下滑。jQuery 3 已然发布 ,却无人问津。 Vue.js 理所应当地吸收更多追随者。 JavaScript 函数式编程和模式备受关注。 离线开发和渐进式 WEB 应用(PWA)步入主流。 微软发力。 基于 web 技术,使用 NW.js 和 Electron 开发 windows,OSX 和 linux 原生应用的方式逐 方案的演化通过 Preact、Deku、Rax 和 inferno 的形式展现,并伴随着 少量 API 改动。 此前大多数人学习接受 JSX,而如今他们已经享受其中。 一种可用的 CSS 模块模式(CSS encapsulation)已经实现并投入使用,因此对许多人 来说,CSS in JS 成为一种切实可行的解决方案。 越来越多人着手进行 UI 的功能性、整合性测试,其中包含例如可视化 3. 学习 CSS。 4. 学习 JavaScript。 前端开发者是如何诞生的 36 5. 学习 DOM。 6. 学习 JSON 和数据 API。 7. 学习用户交互设计(也就是 UI 模式、UI 设计、用户习惯设计和可用性)的基础。 8. 学习命令行界面/命令行。 9. 学习软件工程的实践(也就是应用设计/架构、模版、Git、测试、监控、自动化、代码 质量、开发方法论)。 100 码力 | 164 页 | 6.43 MB | 1 年前3
阮一峰 JavaScript 教程对象 Math 对象 Date 对象 RegExp 对象 JSON 对象 面向对象编程 实例对象与 new 命令 this 关键字 对象的继承 Object 对象的相关方法 严格模式 异步操作 概述 定时器 Promise 对象 DOM 概述 - 2 - 本文档使用 书栈(BookStack.CN) 构建 致谢 当前文档 《阮一峰 JavaScript 教程》 JavaScript 的发明目的,就是作为浏览器的内置脚本语言,为网页 开发者提供操控浏览器的能力。它是目前唯一一种通用的浏览器脚本语 言,所有浏览器都支持。它可以让网页呈现各种特殊效果,为用户提供 良好的互动体验。 目前,全世界几乎所有网页都使用 JavaScript。如果不用,网站的 易用性和使用效率将大打折扣,无法成为操作便利、对用户友好的网 站。 对于一个互联网开发者来说,如果你想提供漂亮的网页、令用户满意的 有功能找出解决 办法。这种功能的不足,直接导致了后来 JavaScript 的一个显著特 点:对于其他语言,你需要学习语言的各种功能,而对于 JavaScript,你常常需要学习各种解决问题的模式。而且由于来源多 样,从一开始就注定,JavaScript 的编程风格是函数式编程和面向 对象编程的一种混合体。 Netscape 公司的这种浏览器脚本语言,最初名字叫做 Mocha, 1995年9月改为0 码力 | 540 页 | 3.32 MB | 10 月前3
2019-2021 美团技术年货 前端篇(Web)的强大能力,实现逻辑的抽象,完成组 件、模块的适配,达到提效最大化; ● 跟进 Flutter 官方动向:Flutter 2.0 的发布,稳定了对 Web 的支持,同时默 认采用 Canvaskit 编译模式,此模式下对页面滚动性能有较大提升。但由于 canvaskit.wasm 文件过于庞大(2.5M),降低了加载性能,因此目前仍不建 议在 Web 侧直接使用 Canvaskit。不过官方承诺会在 2021 Widgets、 Gestures 等组件来实现逻辑跨端。而关于渲染跨端,FlutterWeb 提供了两种模式 来对齐 Engine 层的渲染能力:Canvaskit Render 和 HTML Render,下方表格对 两者的区别进行了对比: 图 3 模式对比 Canvaskit Render 模式:底层基于 Skia 的 WebAssembly 版本,而上层使 用 WebGL 进行渲染,因此 Canvaskit Render 模式 用于桌面应用)。 HTML Render 模式:利用 HTML + Canvas 对齐了 Engine 层的渲染能力,因此 兼容性表现优秀。另外,MTFlutterWeb 对滚动性能已有过探索和实践,目前能够 应对大部分业务场景。而关于加载性能,此模式下的初始包为 1.2M,是 Canvaskit Render 模式产物体积的 1/2,且我们可对编译流程进行干预,控制输出产物,因此0 码力 | 738 页 | 50.29 MB | 1 年前3
阮一峰 《ECMAScript 6入门》 第三版组赋值给 a ,就会报错。 如果真的想将对象冻结,应该使用 Object.freeze 方法。 const foo = Object.freeze({}); // 常规模式时,下面一行不起作用; // 严格模式时,该行会报错 foo.prop = 123; let 和 const 命令 40 上面代码中,常量 foo 指向一个冻结的对象,所以添加新属性不起作用,严格模 式时还会报错。 返回的是当前模块。 函数里面的 this ,如果函数不是作为对象的方法运行,而是单纯作为函数运 行, this 会指向顶层对象。但是,严格模式下,这时 this 会返 let 和 const 命令 42 回 undefined 。 不管是严格模式,还是普通模式, new Function('return this')() ,总 是会返回全局对象。但是,如果浏览器用了CSP(Content 允许按照一定模式,从数组和对象中提取值,对变量进行赋值,这被称为解构 (Destructuring)。 以前,为变量赋值,只能直接指定值。 let a = 1; let b = 2; let c = 3; ES6 允许写成下面这样。 let [a, b, c] = [1, 2, 3]; 上面代码表示,可以从数组中提取值,按照对应位置,对变量赋值。 本质上,这种写法属于“模式匹配”,只要等号两边的模式相同,左边的变量就会被0 码力 | 679 页 | 2.66 MB | 1 年前3
TypeScript 4.0 使用手册
,它会发布一条明确的action消息,这个消息必须被 reducer函数处理。 由于使用了这样明确的方式,很容易弄清楚一个action是如何影响程序的 state。 MobX借助于函数式响应型模式,state被包装在了可观察对象里,并通过props传递。 通过将state 标记为可观察的,即可在所有观察者之间保持state的同步性。 另一个好处是,这个库已经使用 TypeScript实现了。 'DECREMENT_ENTHUSIASM'; 8. export type DECREMENT_ENTHUSIASM = typeof DECREMENT_ENTHUSIASM; 这里的 const / type 模式允许我们以容易访问和重构的方式使用TypeScript的字符串字面量类 型。 接下来,我们创建一些actions以及创建这些actions的函数, src/actions/index.tsx 。 BookStack.CN 构建 那么你可以这样写: 1. export function feedPets(pets) { 2. // ... 3. } 有时你会完全重写导出对象。 这是一个常见模式,这会将模块变为可立即调用的模块: 1. var express = require("express"); 2. var app = express(); 之前你可以是这样写的: 1. function0 码力 | 683 页 | 6.27 MB | 1 年前3
TypeScript Handbook(中文版)
理想情况下,我们只需要在浏览器里引入React模块,但是大部分浏览器还没有支 持模块。 因此大部分代码库会把自己包裹在一个单独的全局变量内,比 如: jQuery 或 _ 。 这叫做“命名空间”模式,webpack也允许我们继续使用通过 这种方式写的代码库。 通过我们的设置 "react": "React" ,webpack会神奇地 将所有对 "react" 的导入转换成从 React ,它会发布一条明确 的action消息,这个消息必须被reducer函数处理。 由于使用了这样明确的方式,很 容易弄清楚一个action是如何影响程序的state。 MobX借助于函数式响应型模式,state被包装在了可观察对象里,并通过props传 递。 通过将state标记为可观察的,即可在所有观察者之间保持state的同步性。 另 一个好处是,这个库已经使用TypeScript实现了。 DECREMENT_ENTHUSIASM = typeof DECREMENT_ENTHUSIASM; TypeScript Handbook(中文版) 79 React 这里的 const / type 模式允许我们以容易访问和重构的方式使用TypeScript的字 符串字面量类型。 接下来,我们创建一些actions以及创建这些actions的函 数, src/actions/index.tsx0 码力 | 557 页 | 7.48 MB | 1 年前3
JavaScript 正则表达式迷你书 老姚 - v1.1大漠穷秋 我连续看了老姚在专栏的正则系列的前三篇,毫不犹豫就打赏了,而且顺藤摸瓜认识了老姚,没想到 老姚对学习本身研究颇深,当晚第一次聊天就是半宿。在本系列中,我印象最深的两句话是“正则表 达式是匹配模式,要么匹配字符,要么匹配位置”和“对于位置的理解,我们可以理解成空字符”, 这两句话可谓是醍醐灌顶,通过数字的千位分隔符这个例子把之前一直搞不清楚的先行断言彻底搞懂 了。真是佩服老姚的理解和讲解 正则表达式括号的作用 • 第四章 正则表达式回溯法原理 • 第五章 正则表达式的拆分 • 第六章 正则表达式的构建 • 第七章 正则表达式编程 下面简单地说说每一章都讨论了什么? 正则是匹配模式,要么匹配字符,要么匹配位置。 第一章和第二章以这个角度去讲解了正则表达式的基础。 在正则可以使用括号捕获数据,要么在 API 中进行分组引用,要么在正则里进行反向引用。 这是第三章的主题,讲解了正则表达式中括号的作用。 然后有时间的话,再带着问题去精读第二遍。 深呼吸,开始我们的正则表达式旅程吧。 我在终点等你。 JavaScript 正则表达式迷你书 前言 | 第 5 页 1. 第一章 正则表达式字符匹配攻略 正则表达式是匹配模式,要么匹配字符,要么匹配位置。 请记住这句话。 然而关于正则如何匹配字符的学习,大部分人都觉得这块比较杂乱。 毕竟元字符太多了,看起来没有系统性,不好记。本章就解决这个问题。 内容包括: •0 码力 | 89 页 | 3.42 MB | 11 月前3
JavaScript 正则表达式迷你书 老姚 - v1.0大漠穷秋 我连续看了老姚在专栏的正则系列的前三篇,毫不犹豫就打赏了,而且顺藤摸瓜认识了老姚,没想到 老姚对学习本身研究颇深,当晚第一次聊天就是半宿。在本系列中,我印象最深的两句话是“正则表 达式是匹配模式,要么匹配字符,要么匹配位置”和“对于位置的理解,我们可以理解成空字符”, 这两句话可谓是醍醐灌顶,通过数字的千位分隔符这个例子把之前一直搞不清楚的先行断言彻底搞懂 了。真是佩服老姚的理解和讲解 正则表达式括号的作用 • 第四章 正则表达式回溯法原理 • 第五章 正则表达式的拆分 • 第六章 正则表达式的构建 • 第七章 正则表达式编程 下面简单地说说每一章都讨论了什么? 正则是匹配模式,要么匹配字符,要么匹配位置。 第一章和第二章以这个角度去讲解了正则表达式的基础。 在正则可以使用括号捕获数据,要么在 API 中进行分组引用,要么在正则里进行反向引用。 这是第三章的主题,讲解了正则表达式中括号的作用。 然后有时间的话,再带着问题去精读第二遍。 深呼吸,开始我们的正则表达式旅程吧。 我在终点等你。 JavaScript 正则表达式迷你书 前言 | 第 5 页 1. 第一章 正则表达式字符匹配攻略 正则表达式是匹配模式,要么匹配字符,要么匹配位置。 请记住这句话。 然而关于正则如何匹配字符的学习,大部分人都觉得这块比较杂乱。 毕竟元字符太多了,看起来没有系统性,不好记。本章就解决这个问题。 内容包括: •0 码力 | 89 页 | 3.42 MB | 11 月前3
7-王刚-Flutter在Now直播中的工程实践应用品的Android客户端。 姓名:王刚 英文:Kirawang 职位:腾讯移动端高级工程师 手机QQ NOW直播 分享目录 uNOW直播与Flutter uNOW直播中Flutter的开发模式 uNOW直播中Flutter的工程实践 u技术思考 关于NOW直播 •腾讯出品的个人直播平台 •2016年初上线 •Top3热门个人直播App •Tens of millions MAU uNOW直播中Flutter的开发模式 uNOW直播中Flutter的工程实践 u技术思考 开发模式 •纯Flutter开发 •不具备条件 Flutter Native Flutter •混合开发 工程化开发模式Ⅰ •IDE直接集成Flutter产出模式 •快速方便集成 无法同步Dart代码 无法启动调试 Android IOS 工程化开发模式Ⅱ • Flutter工程集成NOW工程模式 • 修改NOW工程结构 • 支持断点调试 无法跨终端同步及维护Dart代码 工程化开发模式Ⅲ • Gradle/CocoaPods依赖管理 • 跨终端团队协作远程构建产出模式 • Dart代码独立GIT • 远程构建平台配置终端推送地址 • 构建完成自动推送更新 QCI 远程构建平台 Android Git iOS Git 工程化开发模式Ⅲ 1. 拉取Dart分支 2. 拉取Android /iOS分支0 码力 | 35 页 | 5.39 MB | 1 年前3
廖雪峰JavaScript教程范中推出了strict模式,在strict模式下 运行的JavaScript代码,强制通过 var 申明变量,未使用 var 申明变量就使用的,将导致运行 错误。 启用strict模式的方法是在JavaScript代码的第一行写上: 1. 'use strict'; 这是一个字符串,不支持strict模式的浏览器会把它当做一个字符串语句执行,支持strict模式的浏 览器将开启strict模式运行JavaScript。 览器将开启strict模式运行JavaScript。 来测试一下你的浏览器是否能支持strict模式: 1. 'use strict'; 2. // 如果浏览器支持strict模式, 3. // 下面的代码将报ReferenceError错误: 4. strict模式 2.2 数据类型和变量 - 21 - 本文档使用 书栈(BookStack.CN) 构建 5. abc = 'Hello, world'; 说明你的浏览器太古老了,需要尽 快升级。 不用 var 申明的变量会被视为全局变量,为了避免这一缺陷,所有的JavaScript代码都应该使用 strict模式。我们在后面编写的JavaScript代码将全部采用strict模式。 原文: https://wizardforcel.gitbooks.io/liaoxuefeng/content/js/5.html 2.2 数据类型和变量0 码力 | 264 页 | 2.81 MB | 10 月前3
共 47 条
- 1
- 2
- 3
- 4
- 5













