ECMAScript规范 第三版 中文版.......................................................................................15 5.1 语法和词法文法................................................................................................. 上下文无关文法(Context-Free Grammars)...............................................................15 5.1.2 词法文法和正则表达式文法.....................................................................................15 5 .............................................................................................21 7 词法约定.................................................................................................0 码力 | 58 页 | 563.06 KB | 1 年前3
Web的未来
新技术和新语言带来的改变number_of_chips = num; } } Dart 像 Java ? 有点像,但差太多 Dart 是什么样语言 ● 简单、熟悉的面向对象语言 ● 基于类,单继承、多实现 ● 熟悉的语法和恰当的词法作用域 ● 可选的静态类型 ● 单线程和基于Isolate的并发 为什么喜欢 Dart 1. 开源 2. 有 Google 当靠山 3. 执行效率高 4. 有机会成为 Android 内置的虚拟机,用来写手机 性能测试 http://www.dartlang.org/performance/ Dart 语法特性 ● 纯面向对象:类 ● 范型 ● 函数、闭包 ● 库:import ● 可选类型 ● 词法作用域 ● 异步与并发编程 ● getter 和 setter ● 方法级联调用 ● 操作符重载 ● Markdown注释 ● 支持 Mixin ● 基于Mirror的反射 ● 不支持 类型的好处 ● 类型即文档,表明程序意图,提供概念框架 ● 避免特定的变量命名模式或注释方式 ● 适合范型 ● 良好工具的支持 ● 更早发现问题(类型检查): ○ 检查模式运行 ○ 静态代码分析 ● Dart 类型是可选的,而非强制的。 可选类型 class Point { var x, y; Point(this.x, this.y); operator +(other)0 码力 | 91 页 | 3.44 MB | 1 年前3
廖雪峰JavaScript教程var x = 0; 2. var i; 3. for (i=1; i<=10000; i++) { 4. x = x + i; 5. } 6. x; // 50005000 让我们来分析一下 for 循环的控制条件: i=1 这是初始条件,将变量i置为1; i<=10000 这是判断条件,满足时就继续循环,不满足就退出循环; i++ 这是每次循环后的递增条件,由于每次循环后 本文档使用 书栈(BookStack.CN) 构建 由于 map() 接收的回调函数可以有3个参数: callback(currentValue, index, array) ,通常 我们仅需要第一个参数,而忽略了传入的后面两个参数。不幸的是, 有语法冲突,所以要改为: 1. // ok: 2. x => ({ foo: x }) 箭头函数看上去是匿名函数的一种简写,但实际上,箭头函数和匿名函数有个明显的区别:箭头函数内 部的 this 是词法作用域,由上下文确定。 回顾前面的例子,由于JavaScript函数对 this 绑定的错误处理,下面的例子无法得到预期结果: 1. var obj = { 2. birth: 19900 码力 | 264 页 | 2.81 MB | 10 月前3
2019-2021 美团技术年货 前端篇635 美团外卖前端容器化演进实践 643 Bifrost 微前端框架及其在美团闪购中的实践 664 Litho 的使用及原理剖析 680 Android 兼容 Java 8 语法特性的原理分析 697 美团外卖商家端视频探索之旅 715 让 Flutter 在鸿蒙系统上跑起来 作者:杨超 前言 鸿蒙系统 (HarmonyOS)是华为推出的一款面向未来、面向全场景的分布式操作系 端目前只支持 Dart–>JS 的转换,以及 UI 层的对齐,在工程化和性能优化方面做的工作并不多。 因此,我们必须解决以上的性能问题,才能保证我们的业务可以正常的交付。通过对 编译流程的仔细分析与梳理,我们在 AOT 产物生成之前对 Flutter SDK 进行定制, 分别进行加载性能优化和内存性能优化,下面分别介绍这两部分的内容。 Flutter SDK 进行定制后的流程 4.2.2 assetBase 的 meta 标签,但发现 xxx.part.js 文件依然使用当前域名 进行加载,可见 Javascript 资源的加载和图片资源加载的逻辑不尽相同。对 main.dart.js 源码分析,我们发现请求 xxx.part.js 的域名取决于包 含 main.dart.js 内容的 Script 标签的 src 属性。通过对 js_helper. 28 > 2021年美团技术年货0 码力 | 738 页 | 50.29 MB | 1 年前3
TypeScript Handbook(中文版)
类似地,尝试删除 greeter 调用的所有参数。 TypeScript会告诉你使用了非期望 个数的参数调用了这个函数。 在这两种情况中,TypeScript提供了静态的代码分 析,它可以分析代码结构和提供的类型注解。 TypeScript Handbook(中文版) 10 5分钟了解TypeScript 要注意的是尽管有错误, greeter.js 文件还是被创建了。 就算你的代码里有错 {} ,你应该选择 {} 。 虽说它们基本一样,但 是从技术角度上来讲 {} 在一些深奥的情况里比 Object 更普通。 启用严格检查 TypeScript提供了一些检查来保证安全以及帮助分析你的程序。 当你将代码转换为 了TypeScript后,你可以启用这些检查来帮助你获得高度安全性。 没有隐式的 any 在某些情况下TypeScript没法确定某些值的类型。 那么TypeScript会使用 // 错误,使用前未赋值 y; // 错误,使用前未赋值 z; // 正确 x = 1; y = null; x; // 正确 y; // 正确 编译器通过执行基于控制流的类型分析检查变量明确被赋过值。在本篇文章后面会 有进一步的细节。 可选参数和属性 可选参数和属性会自动把 undefined 添加到他们的类型中,即使他们的类型注解 明确不包含 undefined0 码力 | 557 页 | 7.48 MB | 1 年前3
TypeScript 4.0 使用手册
'string'. 类似地,尝试删除 greeter 调用的所有参数。 TypeScript会告诉你使用了非期望个数的参数调用 了这个函数。 在这两种情况中,TypeScript提供了静态的代码分析,它可以分析代码结构和提供的 类型注解。 要注意的是尽管有错误, greeter.js 文件还是被创建了。 就算你的代码里有错误,你仍然可以使 用TypeScript。但在这种情况下,TypeSc Object 和 {} ,你应该选择 {} 。 虽说它们基本一样,但是从技术角度上 来讲 {} 在一些深奥的情况里比 Object 更普通。 TypeScript提供了一些检查来保证安全以及帮助分析你的程序。 当你将代码转换为了TypeScript 后,你可以启用这些检查来帮助你获得高度安全性。 在某些情况下TypeScript没法确定某些值的类型。 那么TypeScript会使用 any let 声明 变量声明 - 96 - 本文档使用 书栈网 · BookStack.CN 构建 主要的区别不在语法上,而是语义,我们接下来会深入研究。 当用 let 声明一个变量,它使用的是_词法作用域_或_块作用域_。 不同于使用 var 声明的变量 那样可以在包含它们的函数外访问,块作用域变量在包含它们的块或 for 循环之外是不能访问的。 1. function f(input:0 码力 | 683 页 | 6.27 MB | 1 年前3
Vue.js v3.0 教程(Vue3 教程)console.log(this.a) 或 vm.$watch('a', newValue => this.myMethod()) 。因为箭头函数并没有 this , this 会作为变量一直向上级词法作用域查找,直至找到为止,经常导致 Uncaught TypeError: Cannot read property of undefined 或 Uncaught TypeError: this0 码力 | 368 页 | 3.97 MB | 1 年前3
Hello 算法 1.0.0b1 JavaScript版小结 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 2. 复杂度分析 12 2.1. 算法效率评估 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 2.2 如果您是「算法大佬」,希望可以得到你的宝贵意见建议,或者一起参与创作。 � 前置条件 您需要至少具备任一语言的编程基础,能够阅读和编写简单代码。 0.1.2. 内容结构 本书主要内容有: ‧ 复杂度分析:数据结构与算法的评价维度、算法效率的评估方法。时间复杂度、空间复杂度,包括推算 方法、常见类型、示例等。 ‧ 数据结构:常用的基本数据类型,数据在内存中的存储方式、数据结构分类方法。数组、链表、栈、队列、 hello‑algo.com 7 0.3. 小结 ‧ 本书主要面向算法初学者。对于已经有一定积累的同学,这本书可以帮助你系统回顾算法知识,源代码 可被当作“刷题工具库”来使用。 ‧ 书中内容主要分为复杂度分析、数据结构、算法三部分,覆盖了该领域的大部分主题。 ‧ 对于算法小白,在初学阶段阅读一本入门书是非常有必要的,可以少走许多弯路。 ‧ 书内的动画和图解往往介绍的是重点和难点知识,在阅读时应该多加关注。0 码力 | 185 页 | 14.70 MB | 1 年前3
Hello 算法 1.0.0b1 TypeScript 版小结 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 2. 复杂度分析 12 2.1. 算法效率评估 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 2.2 如果您是「算法大佬」,希望可以得到你的宝贵意见建议,或者一起参与创作。 � 前置条件 您需要至少具备任一语言的编程基础,能够阅读和编写简单代码。 0.1.2. 内容结构 本书主要内容有: ‧ 复杂度分析:数据结构与算法的评价维度、算法效率的评估方法。时间复杂度、空间复杂度,包括推算 方法、常见类型、示例等。 ‧ 数据结构:常用的基本数据类型,数据在内存中的存储方式、数据结构分类方法。数组、链表、栈、队列、 hello‑algo.com 7 0.3. 小结 ‧ 本书主要面向算法初学者。对于已经有一定积累的同学,这本书可以帮助你系统回顾算法知识,源代码 可被当作“刷题工具库”来使用。 ‧ 书中内容主要分为复杂度分析、数据结构、算法三部分,覆盖了该领域的大部分主题。 ‧ 对于算法小白,在初学阶段阅读一本入门书是非常有必要的,可以少走许多弯路。 ‧ 书内的动画和图解往往介绍的是重点和难点知识,在阅读时应该多加关注。0 码力 | 186 页 | 14.71 MB | 1 年前3
Hello 算法 1.1.0 Dart版小结 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 第 2 章 复杂度分析 17 2.1 算法效率评估 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 2.2 若你是算法“大神”,我们期待收到你的宝贵建议,或者一起参与创作。 前置条件 你需要至少具备任一语言的编程基础,能够阅读和编写简单代码。 0.1.2 内容结构 本书的主要内容如图 0‑1 所示。 ‧ 复杂度分析:数据结构和算法的评价维度与方法。时间复杂度和空间复杂度的推算方法、常见类型、示 例等。 ‧ 数据结构:基本数据类型和数据结构的分类方法。数组、链表、栈、队列、哈希表、树、堆、图等数据 结构的 图 0‑8 算法学习路线 0.3 小结 ‧ 本书的主要受众是算法初学者。如果你已有一定基础,本书能帮助你系统回顾算法知识,书中源代码也 可作为“刷题工具库”使用。 ‧ 书中内容主要包括复杂度分析、数据结构和算法三部分,涵盖了该领域的大部分主题。 ‧ 对于算法新手,在初学阶段阅读一本入门书至关重要,可以少走许多弯路。 ‧ 书中的动画图解通常用于介绍重点和难点知识。阅读本书时,应给予这些内容更多关注。0 码力 | 378 页 | 18.45 MB | 1 年前3
共 42 条
- 1
- 2
- 3
- 4
- 5













