-  TypeScript支持JavaScript的新特性,比如  支持基于类的面向对象编程。  让我们创建一个  Student 类,它带有一个构造函数和一些公共字段。 注意类和接  口可以一起共作,程序员可以自行决定抽象的级别。  还要注意的是,在构造函数的参数上使用  public 等同于创建了同名的成员变量。  TypeScript Handbook(中文版)  11 5分钟了解TypeScript  class Singleton(); // 错误:Singleton的构造函数是私有的。  let v = Singleton.getInstance();  抽象属性和访问器  抽象类可以声明抽象属性和、或访问器。所有子类将需要声明抽象属性或者被标记  为抽象的。抽象属性不能初始化。抽象访问器不能有具体代码块。  示例  abstract class Base {      abstract name: string;  sayHello() {          console.log(this.getGreeting());      }  }   abstract  (抽象的) 类和方法  TypeScript 1.6 为类和它们的方法增加了  abstract  关键字. 一个抽象类允许没有  被实现的方法, 并且不能被构造.  TypeScript Handbook(中文版)  193 TypeScript 1.6  例子 0 码力 |
          557 页 |
          7.48 MB
          | 1 年前 3 
 
-  TypeScript支持JavaScript的新特性,比如支持基于类的  面向对象编程。  让我们创建一个  Student 类,它带有一个构造函数和一些公共字段。 注意类和接口可以一起共作,  程序员可以自行决定抽象的级别。  还要注意的是,在构造函数的参数上使用  public 等同于创建了同名的成员变量。  1. class Student {  2.     fullName: string;  3.   log(grid2.calculateDistanceFromOrigin({x: 10, y: 10}));  抽象类做为其它派生类的基类使用。 它们一般不会直接被实例化。 不同于接口,抽象类可以包含成员  的实现细节。  abstract 关键字是用于定义抽象类和在抽象类内部定义抽象方法。  1. abstract class Animal {  2.     abstract makeSound(): log("roaming the earth...");  5.     }  6. }  抽象类中的抽象方法不包含具体实现并且必须在派生类中实现。 抽象方法的语法与接口方法相似。 两  者都是定义方法签名但不包含方法体。 然而,抽象方法必须包含  abstract 关键字并且可以包含访  问修饰符。  静态属性  抽象类  类  - 128 - 本文档使用 书栈网 · BookStack.CN 构建  1 0 码力 |
          683 页 |
          6.27 MB
          | 1 年前 3 
 
-  为了保证 Flutter 应用能够正常运行,除了最基本的渲染和交互外,我们的嵌入层还  要提供资源管理、事件循环、生命周期同步等平台能力。对于这些能力 Flutter 大多  都在嵌入层的公共部分有抽象类声明,只需要使用鸿蒙 API 重新实现一遍即可。  比如资源管理,引擎提供了 AssetResolver 声明,我们可以使用鸿蒙 Rawfile API   来实现:  class HAPAssetMapping Web。    ● Flutter Web 在 PC 侧的复用:与 UED 团队共同制订 PC 与 App 适配规范,  同时基于 Dart2js 和 dart:ui (Web)的强大能力,实现逻辑的抽象,完成组  件、模块的适配,达到提效最大化;    ● 跟进 Flutter 官方动向:Flutter 2.0 的发布,稳定了对 Web 的支持,同时默  认采用 Canvaskit 编译模式,此模式下对页面滚动性能有较大提升。但由于 上图可以看出使用成组布局还是悬浮布局是由图层内容决定的,那么就需要算法理解  图层内容了,比如基于 AI 构建样本库,记住所有的角标样式(上面表格中 4 描述的),  下次遇到角标相交时就生成成组布局。考虑到 AI 模型也是对规则的抽象,我们先搭  建一套自定义识别规则。成组布局其位置信息是有规律可循的,例如:角标经常出现  66 > 2021年美团技术年货  在右上角,标签经常出现在左上角,头像经常横向或者纵向交叉等,因此我们针对图 0 码力 |
          738 页 |
          50.29 MB
          | 1 年前 3 
 
-  この章では、JavaScriptにおけるPromiseについて簡単に紹介していきます。  What Is Promise  まずPromiseとはそもそもどのようなものでしょうか?  Promiseは非同期処理を抽象化したオブジェクトとそれを操作する仕組みのことをいいま す。 詳しくはこれから学んでいくとして、PromiseはJavaScriptで発見された概念ではあり ません。  最初に発見されたのは E言語14におけるもので、 then(function(result){     // 取得成功の処理 }).catch(function(error){     // 取得失敗時の処理 });  promiseオブジェクトを返す 非同期処理を抽象化したpromiseオブジェクトというものを用意し、 そのpromiseオブジェ クトに対して成功時の処理と失敗時の処理の関数を登録するようにして使います。  コールバック関数と比べると何が違うのかを簡単に見ると、 先ほどの複数のXHRの結果をまとめて取得する処理は、 Promise.all  を使うとシンプルに 書くことができます。  先ほどの例の getURL  はXHRによる通信を抽象化したpromiseオブジェクトを返していま す。 Promise.all  に通信を抽象化したpromiseオブジェクトの配列を渡すことで、 全ての 通信が完了(FulFilledまたはRejected)した時に、次の .then  を呼び出すことができます。 0 码力 |
          115 页 |
          1.06 MB
          | 1 年前 3 
 
-  Chapter.1 - 什么是Promise  本章将主要对JavaScript中的Promise进行入门级的介绍。  什么是Promise  首先让我们来了解一下到底什么是Promise。  Promise是抽象异步处理对象以及对其进行各种操作的组件。 其详细内容在接下来我们 还会进行介绍,Promise并不是从JavaScript中发祥的概念。  Promise最初被提出是在 E语言12中, 它是基于并列/并行处理设计的一种编程语言。  // 获取文件内容成功时的处理 }).catch(function(error){     // 获取文件内容失败时的处理 }); ---- <1> 返回promise对象  我们可以向这个预设了抽象化异步处理的promise对象, 注册这个promise对象执行成功  时和失败时相应的回调函数。  这和回调函数方式相比有哪些不同之处呢? 在使用promise进行一步处理的时候,我们 必须按照接口规定的方法编写处理代码。 `resolve`、`reject` 方法进行调用  上面我们只是简单的实现了一个 Deferred ,我想你已经看到了它和 Promise 之间的差 异了吧。  如果说Promise是用来对值进行抽象的话,Deferred则是对处理还没有结束的状态或操 作进行抽象化的对象,我们也可以从这一层的区别来理解一下这两者之间的差异。  换句话说,Promise代表了一个对象,这个对象的状态现在还不确定,但是未来一 个时间点它的状态要么 0 码力 |
          112 页 |
          1010.02 KB
          | 1 年前 3 
 
-  而且可以像变量一样使用,具有非常强大的抽象能力。  抽象是数学中非常常见的概念。举个例子:  计算数列的和,比如:  1 + 2 + 3 + … + 100 ,写起来十分不方便,于是数学家发明了求和符号∑,  可以把  1 + 2 + 3 + … + 100 记作:  100  ∑n  n=1  这种抽象记法非常强大,因为我们看到 ∑ 就可以理解成求和,而不是还原成低级的加法运算。  函数  抽象  3 函数  - 48 而且,这种抽象记法是可扩展的,比如:  100  ∑(n2+1)  n=1  还原成加法运算就变成了:  (1 x 1 + 1) + (2 x 2 + 1) + (3 x 3 + 1) + … + (100 x 100 + 1)  可见,借助抽象,我们才能不关心底层的具体计算过程,而直接在更高的层次上思考问题。  写计算机程序也是一样,函数就是最基本的一种代码抽象的方式。  原文: 9. }  的确可以,但是,从上面的循环代码,我们无法一眼看明白“把f(x)作用在Array的每一个元素并把结  果生成一个新的Array”。  所以,  map() 作为高阶函数,事实上它把运算规则抽象了,因此,我们不但可以计算简单的  f(x)=x2,还可以计算任意复杂的函数,比如,把  Array 的所有数字转为字符串:  1. var arr = [1, 2, 3, 4 0 码力 |
          264 页 |
          2.81 MB
          | 10 月前 3 
 
-  この章では、JavaScriptにおけるPromiseについて簡単に紹介していきます。  What Is Promise  まずPromiseとはそもそもどのようなものでしょうか?  Promiseは非同期処理を抽象化したオブジェクトとそれを操作する仕組みのことをいいま す。 詳しくはこれから学んでいくとして、PromiseはJavaScriptで発見された概念ではあり ません。  最初に発見されたのは E言語17におけるもので、 then((result) => {     // 取得成功の処理 }).catch((error) => {     // 取得失敗時の処理 });  promiseオブジェクトを返す 非同期処理を抽象化したpromiseオブジェクトというものを用意し、 そのpromiseオブジェ クトに対して成功時の処理と失敗時の処理の関数を登録するようにして使います。  コールバック関数と比べると何が違うのかを簡単に見ると、 先ほどの複数のXHRの結果をまとめて取得する処理は、 Promise.all  を使うとシンプルに 書くことができます。  先ほどの例の fetchURL  はXHRによる通信を抽象化したpromiseオブジェクトを返してい ます。 Promise.all  に通信を抽象化したpromiseオブジェクトの配列を渡すことで、 全て の通信が完了(FulfilledまたはRejected)した時に、次の .then  を呼び出すことができま 0 码力 |
          137 页 |
          1.17 MB
          | 1 年前 3 
 
-  • 实际上Vue的组件系统具有图灵完备性  • 使⽤用Vue计算阶乘  • 使⽤用Vue计算斐波那契数列列  声明式与UI编程  UI编程  • 70年年代 MVC诞⽣生 ⼈人们意识到视图应该被独⽴立抽象  • 80年年代 标记语⾔言⼤大热 最初更更与⽂文本相关  • 90年年代 可视化编辑器器出现 “独⽴立的UI代码⽂文件”  • 2000年年后 markup language+ programming MVVM是为声明式/多语⾔言量量身定做的编程模型  MVVM的数据绑定  • 数据绑定是声明式的数据与UI通讯  • ⼀一些逻辑中数据绑定不不需要命令式代码  声明式数据交换  交互的抽象  ⼿手势  时间  陀螺仪  ……  位置  透明度  颜⾊色  ……  交互的抽象  ⼿手势  时间  陀螺仪  ……  位置  透明度  颜⾊色  ……  Event Property  Expression  使⽤用Vue Directive给元素添加⾏行行为 0 码力 |
          19 页 |
          155.76 KB
          | 1 年前 3 
 
-  createApp(ListRendering).mount('#list-rendering')  组件系统是 Vue 的另一个重要概念,因为它是一种抽象,允许我们使用小型、独立和通常可复用的组  件构建大型应用。仔细想想,几乎任意类型的应用界面都可以抽象为一个组件树:  组件化应用构建  介绍  - 16 - 本文档使用 书栈网 · BookStack.CN 构建  在 Vue 中,组件本质上是一个具有预定义选项的实例。在 & 动画概述  进入过渡 & 离开过渡  列表过渡  状态过渡  过渡  - 126 - 本文档使用 书栈网 · BookStack.CN 构建  Vue 提供了一些抽象概念,可以帮助处理过渡和动画,特别是在响应某些变化时。这些抽象的概念包  括:  在 CSS 和 JS 中,使用内置的    组件来钩住组件中进入和离开 DOM。  过渡模式,以便你在过渡期间编排顺序。  在处理多个元素位置更新时,使用 这些数据要么本身就以数值形式存储,要么可以转换为数值。有了这些数值后,我们就可以结合 Vue  的响应式和组件系统,使用第三方库来实现切换元素的过渡状态。  通过侦听器我们能监听到任何数值 property 的数值更新。可能听起来很抽象,所以让我们先来看看  使用 GreenSock  (opens new window) 一个例子:  1.