淮安企业微信公众号小程序开发公司、淮安企业网页设计方案、淮安做网站开发价格、淮安微信公众号制作运营报价明细表、淮安网站设计公司费用、淮安网站推广大概需要多少钱-小程序制作-网站建设【企业网站制作|网页设计】- 高端网站建设 - 书生商友信息科技-

全国热线:400-111-6878

网站建设推广专家

淮安企业微信公众号小程序开发公司、淮安企业网页设计方案、淮安做网站开发价格、淮安微信公众号制作运营报价明细表、淮安网站设计公司费用、淮安网站推广大概需要多少钱

发表日期: 2021-04-25 09:33:42 浏览次数:114

淮安企业微信公众号小程序开发公司、淮安企业网页设计方案、淮安做网站开发价格、淮安微信公众号制作运营报价明细表、淮安网站设计公司费用、淮安网站推广大概需要多少钱


淮安位于江苏省中北部,江淮平原东部。地处长江三角洲地区, [1]  是苏北重要中心城市, [2]  南京都市圈紧密圈层城市,淮河生态经济带首提首推城市 [3]  ,坐落于古淮河与京杭大运河交点,处在中国南北分界线“秦岭-淮河”线上,拥有中国第四大淡水湖洪泽湖,是全国文明城市 [4]  、国家历史文化名城、国家卫生城市、国家园林城市、国家环境保护模范城市、国家低碳试点城市、中国优秀旅游城市。为淮扬菜的主要发源地之一,是江淮流域古文化发源地之一。

淮安有2200多年建城史。秦时置县,境内有著名的“青莲岗文化”遗址。曾是漕运枢纽、盐运要冲,驻有漕运总督府、江南河道总督府。历史上与苏州、杭州、扬州并称运河沿线的“四大都市”,曾经淮安“因运而兴、因运而盛” [5]  ,有“中国运河之都”的美誉。中国大运河淮安段入选世界遗产名录。淮安地处江苏省长江以北的核心地区,邻江近海,为南下北上的交通要道,区位优势独特。是江苏省的重要交通枢纽,也是长江三角洲北部地区的区域交通枢纽。

淮安人杰地灵,是一代伟人周恩来总理的故乡。 [6]  历史上诞生过大军事家韩信、汉赋大家枚乘、巾帼英雄梁红玉、《西游记》作者吴承恩、民族英雄关天培、《老残游记》作者刘鹗等。 [7] 

淮安有著名的红色旅游景区周恩来故里景区、刘老庄八十二烈士陵园、黄花塘新四军军部纪念馆、苏皖边区政府旧址纪念馆等,生态旅游景区古淮河文化生态景区、里运河文化长廊、洪泽湖古堰景区、第一山国家森林公园、清晏园、金湖水上森林公园等。

  1. 在本书接下来的章节中,我们会尽可能地使用ES2015+。假设我们想根据本书内容创建一个数据结构和算法库。这通常需要支持想在浏览器(ES5)和Node.js环境下使用该代码库的开发者。目前可以采取的方法是,将我们的代码转译成通用模块定义(UMD)。要了解更多有关UMD的信息,请访问https://github.com/umdjs/umd。我们会在第4章学习使用Babel将ES2015代码转译成UMD的更多方法。

    对于所有使用模块的示例,源代码包除了ES2015+语法之外还提供了转译后的版本,因此你可以在任意浏览器中运行源代码。

2.3 介绍TypeScript

TypeScript是一个开源的、渐进式包含类型的JavaScript超集,由微软创建并维护。创建它的目的是让开发者增强JavaScript的能力并使应用的规模扩展变得更容易。它的主要功能之一是为JavaScript变量提供类型支持。在JavaScript中提供类型支持可以实现静态检查,从而更容易地重构代码和寻找bug。最后,TypeScript会被编译为简单的JavaScript代码。

考虑到本书的范围,有了TypeScript,就可以使用一些JavaScript中没有提供的面向对象的概念了,例如接口和私有属性(这在开发数据结构和排序算法时非常有用)。当然,我们也可以利用在一些数据结构中非常重要的类型功能。

所有这些功能在编译时都是可用的。只要我们在写代码,就将其编译成普通的JavaScript代码(ES5、ES2015+和CommonJS等)。

要开始使用TypeScript,我们需要用npm来安装它。

npm install -g typescript复制代码

接下来,需要创建一个以.ts为扩展名的文件,比如hello-world.ts。

let myName = 'Packt';myName = 10;复制代码

以上是简单的ES2015代码。现在,我们用tsc命令来编译它。

tsc hello-world复制代码

在终端输出中,我们会看到下面的警告。

hello-world.ts(2,1): error TS2322: Type '10' is not assignable to type'string'.复制代码

这表示类型10不可赋值给字符串类型。但是如果检查创建文件的目录,我们会发现一个包含如下内容的hello-world.js文件。

var myName = 'Packt';myName = 10;复制代码

上面生成的是ES5代码。即使在终端输出了错误信息(实际上是警告,而不是错误),TypeScript编译器还是会生成ES5代码。这表明尽管TypeScript在编译时进行了类型和错误检测,但并不会阻止编译器生成JavaScript代码。这意味着开发者在写代码时可以利用这些验证结果写出具有较少错误和bug的JavaScript代码。

2.3.1 类型推断

在使用TypeScript的时候,我们会经常看到下面这样的代码。

let age: number = 20;let existsFlag: boolean = true;let language: string = 'JavaScript';复制代码

TypeScript允许我们给变量设置一个类型,不过上面的写法太啰唆了。TypeScript有一个类型推断机制,也就是说TypeScript会根据为变量赋的值自动给该变量设置一个类型。我们用更简洁的语法改写上面的代码。

let age = 20; // 数let existsFlag = true; // 布尔值let language = 'JavaScript'; // 字符串复制代码

在上面的代码中,TypeScript仍然知道age是一个数、existsFlag是一个布尔值,以及language是一个字符串。因此不需要显式地给这些变量设置类型。

那么,什么时候需要给变量设置类型呢?如果声明了一个变量但没有设置其初始值,推荐为其设置一个类型,如下所示。

let favoriteLanguage: string;let langs = ['JavaScript', 'Ruby', 'Python'];favoriteLanguage = langs[0];复制代码

如果没有为变量设置类型,它的类型会被自动设置为any,意思是可以接收任何值,就像在普通JavaScript中一样。

2.3.2 接口

在TypeScript中,有两种接口的概念。第一种就像给变量设置一个类型,如下所示。

interface Person {
  name: string;
  age: number;}function printName(person: Person) {
  console.log(person.name);}复制代码

第一种TypeScript接口的概念是把接口看作一个实际的东西。它是对一个对象必须包含的属性和方法的描述。

这使得VSCode这样的编辑器能通过IntelliSense实现自动补全,如下图所示。

现在,试着使用printName函数。

const john = { name: 'John', age: 21 };const mary = { name: 'Mary', age: 21, phone: '123-45678' };printName(john);printName(mary);复制代码

上面的代码没有任何编译错误。像printName函数希望的那样,变量john有一个nameage。变量mary除了nameage之外,还有一个phone的信息。

c51c866ffa1ab3457f2021e8bbdbcc1.jpg

淮安企业微信公众号小程序开发公司淮安企业网页设计方案淮安做网站开发价格、淮安微信公众号制作运营报价明细表、淮安网站设计公司费用、淮安网站推广大概需要多少钱

上一条:淮安小程序制作【淮安企业邮箱】淮安网站外包、淮安微信商城开发、淮安网店美工、淮安淘宝设计
下一条:淮安网络公司哪家好【淮安企业网站百度SEO推广公司】淮安做网站开发价格、淮安淘宝店铺开店装修设计运营、公司网站制作方案流程改版维护费用、淮安高端企业网站页面制作设计专业公司需要多少钱
网站制作
小程序制作
网站优化
网站开发
400电话办理
网络推广
网站建设
网店装修
微信公众号开发
网页设计
网络公司
域名企业邮箱
服务器空间
网站案例报价
百科问答
编辑排版美工
App软件开发
百度推广
代运营托管
logo设计
网络全网营销
网站备案
网站定制
小程序开发公司
首页
电话
立即预约