阮一峰 JavaScript 教程字符串 对象 函数 数组 运算符 算术运算符 比较运算符 布尔运算符 二进制位运算符 其他运算符,运算顺序 语法专题 数据类型的转换 错误处理机制 编程风格 console 对象与控制台 标准库 Object 对象 属性描述对象 Array 对象 包装对象 Boolean 对象 - 1 - 本文档使用 书栈(BookStack.CN) 构建 Number 对象 可以承受很大的并发流量,使得 开发某些互联网大规模的实时应用变得容易。 2009年,Jeremy Ashkenas 发布了 CoffeeScript 的最初版 本。CoffeeScript 可以被转换为 JavaScript 运行,但是语法要 比 JavaScript简洁。这开启了其他语言转为 JavaScript 的风 潮。 2009年,PhoneGap 项目诞生,它将 HTML5 和 JavaScript ),这意味着比较时不会发生类型转换。 1. var x = 1; 2. 3. switch (x) { 4. case true: 5. console.log('x 发生类型转换'); 6. default: 7. console.log('x 没有发生类型转换'); 8. } 9. // x 没有发生类型转换 上面代码中,由于变量 x 没有发生类型转换,所以不会执行0 码力 | 540 页 | 3.32 MB | 10 月前3
ECMAScript规范 第三版 中文版.......................40 8.6.1 属性的特征.................................................................................................................40 8.6.2 内部属性和方法............................... ..........................................................................................45 9 类型转换................................................................................................... 编码格式没有额外指明,则被认定为 UTF-16 编码格式。 符合标准的 ECMAScript 实现被允许提供额外的、在此规范描述之外的类型,值,对象, 属性和函数。特别的,符合标准的 ECMAScript 实现被允许给那些此规范中所描述的对象提供 此规范所没有描述的属性,以及那些属性的值。 3 参考文献 ISO/IEC 9899:1996 Programming Languages-C, including amendment0 码力 | 58 页 | 563.06 KB | 1 年前3
2019-2021 美团技术年货 前端篇创建了一个视图对象,提供可用于直接绘制的 Surface,将它通过 JNI 传递给 原生侧; 前端 < 7 ● 在原生侧获取 Surface 关联的本地窗口对象,并交给 Flutter 的平台容器; ● 将本地窗口对象转换为 OpenGL ES 可识别的绘图表面(EGLSurface),用 于 Flutter 引擎的渲染上屏。 接下来我们用鸿蒙提供的平台能力实现这三点。 a. 可用于直接绘制的视图对象 鸿蒙系统的 Flutter Native 的 UI 渲染能力,使得 Flutter 编写的 UI 能够在现代浏览器上正常展示。 此外,得益于 dart2js 这个早已成熟的工具,Dart 逻辑能够很容易的转换为 JavaS- cript,进而在 Web 中被正常运行。 二、面临的挑战 综上所述,我们选择基于 Flutter Web 探索跨端(App\PC\H5)解决方案,真正实 现“Write Once SDK 编译过程,总结出从 Flutter 业 务代码到 Web 产物的整体流程,详细流程如下图所示: 编译流程 从流程中我们可以看到,Flutter 在 Web 端目前只支持 Dart–>JS 的转换,以及 UI 层的对齐,在工程化和性能优化方面做的工作并不多。 因此,我们必须解决以上的性能问题,才能保证我们的业务可以正常的交付。通过对 编译流程的仔细分析与梳理,我们在 AOT 产物生成之前对0 码力 | 738 页 | 50.29 MB | 1 年前3
阮一峰 《ECMAScript 6入门》 第三版1;\n} ;' 上面代码中, transform 方法的第一个参数是一个字符串,表示需要被转换的 ES6 代码,第二个参数是转换的配置对象。 ECMAScript 6简介 16 babel-polyfill Babel 默认只转换新的 JavaScript 句法(syntax),而不转换新的 API,比 如 Iterator 、 Generator 、 Set 、 Maps Browserify 为 例。首先,安装 babelify 模块。 $ npm install --save-dev babelify babel-preset-latest 然后,再用命令行转换 ES6 脚本。 $ browserify script.js -o bundle.js \ -t [ babelify --presets [ latest ] ] 上面代码将 ES6 "browserify": { "transform": [["babelify", { "presets": ["latest"] }]] } } 在线转换 Babel 提供一个REPL在线编译器,可以在线将 ES6 代码转为 ES5 代码。转换后的 代码,可以直接作为 ES5 代码插入网页运行。 与其他工具的配合 许多工具需要 Babel 进行前置转码,这里举两个例子:ESLint 和 Mocha。0 码力 | 679 页 | 2.66 MB | 1 年前3
廖雪峰JavaScript教程可以在同一个页面中引入多个 .js 文件,还可以在页面中多次编写 ,浏览器按照顺序依次执行。 有些时候你会看到 false === 0; // false 要特别注意相等运算符 == 。JavaScript在设计时,有两种比较运算符: 第一种是 == 比较,它会自动转换数据类型再比较,很多时候,会得到非常诡异的结果; 第二种是 === 比较,它不会自动转换数据类型,如果数据类型不一致,返回 false ,如果一致, 再比较。 由于JavaScript这个设计缺陷,不要使用 == 比较,始终坚持使用 JavaScript对象的键都是字符串类型,值可以是任意数据类型。上述 person 对象一共定义了6个 键值对,其中每个键又称为对象的属性,例如, person 的 name 属性 为 'Bob' , zipcode 属性为 null 。 要获取一个对象的属性,我们用 对象变量.属性名 的方式: 1. person.name; // 'Bob' 2. person.zipcode; // null0 码力 | 264 页 | 2.81 MB | 10 月前3
[试读]15天学会JavaScript - 第 2 章
ECMAScript语法基础 行代码分别通过 Number 对象的 toString()方法将变量(i)和变量(j)转换为字符串 类型,并通过运算符“+”执行字符串连接操作,然后将操作后的结果在浏览器控制台窗口中 进行了输出。 页面效果如图 2.14 所示。可以看出 Number 类型十进制数值可以通过 toString()方法转换 为字符串类型。 37 第 2 章 ECMAScript 语法基础 _neg_6)的内容为 1.68e-7,正是浮 点数 0.000000168 转换为科学记数法后的结果。而第 08 行代码在浏览器控制台窗口中输出的 变量(v_e_neg_5)的内容,并没有转换为科学记数法。这是因为 ECMAScript 语法规定,默 认会把具有 6 个或 6 个以上前导 0 的浮点数自动转换成科学记数法。 图 2.18 Number 原始类型(科学记数法) String 原始类型(3) 2.3.10 获取字符串长度 本小节介绍 ECMAScript 语法中获取字符串长度的方法。ECMAScript 语法中规定通过 String 类型的“length”属性可以获取字符串的长度。 下面来看一个关于获取 String 类型字符串长度的代码示例(详见源代码 ch02 目录中 ch02-js-string-length.html 文件)。 【代码 2-26】0 码力 | 52 页 | 3.83 MB | 1 年前3
JavaScript Promise迷你书(中文版)org/~jorendorff/es6-draft.html#sec-promise-objects JavaScript Promise 迷你书(中文版) 10 promise对象的状态,从Pending转换为Fulfilled或Rejected之后, 这个promise对象的状 态就不会再发生任何变化。 也就是说,Promise与Event等不同,在 .then 后执行的函数可以肯定地说只会被调用一 方法另一个作用就是将 thenable 对象转换为promise对象。 ES6 Promises里提到了Thenable这个概念,简单来说它就是一个非常类似promise的东 西。 就像我们有时称具有 .length 方法的非数组对象为Array like一样,thenable指的是一个 具有 .then 方法的对象。 这种将thenable对象转换为promise对象的机制要求thenable对象所拥有的 le对象所拥有的 then 方法应 该和Promise所拥有的 then 方法具有同样的功能和处理过程,在将thenable对象转换为 promise对象的时候,还会巧妙的利用thenable对象原来具有的 then 方法。 到底什么样的对象能算是thenable的呢,最简单的例子就是 jQuery.ajax()16,它的返回 值就是thenable的。 因为 jQuery.ajax()0 码力 | 112 页 | 1010.02 KB | 1 年前3
JavaScript 正则表达式迷你书 老姚 - v1.15.1. 字符串 trim 方法模拟 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 3.5.2. 将每个单词的首字母转换为大写 . . . . . . . . . . . . . . . . . . . . . . . . . . 34 3.5.3. 驼峰化 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 7.2.10. source 属性 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 7.2.11. 构造函数属性. . . . . . . . . . . . . . . . . . . . . . . . . . . . 当然,我也在想,如果能得到读者的认可,自己的小心脏肯定会砰砰的。 本书制作用到的工具 本书采用 Asciidoc 格式编写。 使用 Asciidoctor 构建本书电子版。 教程: • 语法教程 • 转换PDF教程 书中用的可视化图片是由 Regulex 正则表达式可视化工具生成。 其余图片是由 Processon 制作。 JavaScript 正则表达式迷你书 前言 | 第 1 页 意见和疑问0 码力 | 89 页 | 3.42 MB | 11 月前3
JavaScript 正则表达式迷你书 老姚 - v1.05.1. 字符串 trim 方法模拟 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 3.5.2. 将每个单词的首字母转换为大写 . . . . . . . . . . . . . . . . . . . . . . . . . . 34 3.5.3. 驼峰化 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 7.2.10. source 属性 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 7.2.11. 构造函数属性. . . . . . . . . . . . . . . . . . . . . . . . . . . . 当然,我也在想,如果能得到读者的认可,自己的小心脏肯定会砰砰的。 本书制作用到的工具 本书采用Asciidoc格式编写。 使用 Asciidoctor 构建本书电子版。 教程: • 语法教程 • 转换PDF教程 书中用的可视化图片是由 Regulex 正则表达式可视化工具生成。 其余图片是由 Processon 制作。 JavaScript 正则表达式迷你书 前言 | 第 1 页 意见和疑问0 码力 | 89 页 | 3.42 MB | 11 月前3
Hello 算法 1.1.0 JavaScript版。而通过对数换底公式,我们可以得到具有 不同底数、相等的时间复杂度: ?(log? ?) = ?(log? ?/ log? ?) = ?(log? ?) 也就是说,底数 ? 可以在不影响复杂度的前提下转换。因此我们通常会省略底数 ? ,将对数阶直接 记为 ?(log ?) 。 6. 线性对数阶 ?(? log ?) 线性对数阶常出现于嵌套循环中,两层循环的时间复杂度分别为 ?(log ?) 和 反码:正数的反码与其原码相同,负数的反码是对其原码除符号位外的所有位取反。 ‧ 补码:正数的补码与其原码相同,负数的补码是在其反码的基础上加 1 。 图 3‑4 展示了原码、反码和补码之间的转换方法。 图 3‑4 原码、反码与补码之间的相互转换 原码(sign‑magnitude)虽然最直观,但存在一些局限性。一方面,负数的原码不能直接用于运算。例如在原 码下计算 1 + (−2) ,得到的结果是 −3 ,这显然是不对的。 0000 0001 + 1000 0010 = 1000 0011 → −3 为了解决此问题,计算机引入了反码(1’s complement)。如果我们先将原码转换为反码,并在反码下计算 1 + (−2) ,最后将结果从反码转换回原码,则可得到正确结果 −1 。 1 + (−2) → 0000 0001 (原码) + 1000 0010 (原码) = 0000 0001 (反码) + 11110 码力 | 379 页 | 18.46 MB | 1 年前3
共 16 条
- 1
- 2













