❤ 就这?TypeScript其实并不难!(建议收藏)❤

🎈 作者:不吃西红柿

🎈 简介:CSDN博客专家🏆、蓝桥签约作者、Python领域优质创作者、信息技术智库公众号创建者✌。技术交流、面试刷题尽管关注咨询我。

热门专栏推荐:

🥇 知识集锦专栏:大数据生态硬核学习资料 & 面试真题集锦 
🥈 数据仓库专栏:数仓发展史、建设方法论、实战经验、面试真题 
🥉 Python专栏:Python相关黑科技:爬虫、算法、小工具 

(优质好文持续更新中……)✍

创作不易,点赞👍 关注💪 鼓励一下西红柿吧!


目录

一、什么是 TypeScript?

二、TS和JS的对比

三、TypeScript小课堂

01 TypeScript开发环境的构建

02 开启我们的helloWorld.ts

03 TS变量类型那些事

04 Ts函数

05 函数的三种定义方式

06 变量的作用域,函数划分

07 引用类型的数组

08 引用类型的字符串

09 引用类型的日期对象

10 引用类型的正则表达式

11 面向对象编程-类的声明和使用

12 面向对象编程-类的修饰符

13 面向对象编程-基础和重写

14 面向对象编程-接口知识

15 面向对象编程-命名空间


一、什么是 TypeScript?

  • TypeScript 是一种由微软开发的自由和开源的编程语言,它是 JavaScript 的一个超集,扩展了 JavaScript语法

  • TypeScript是属于编程语言,静态类型和面向对象

  • TypeScript遵循最新的ES6、ES5规范,它扩展了JS的语法。

  • TypeScript可以让JS开发大型企业应用,即适用于大型应用 或 多人协作

最新的Vue、React也可以集成TypeScript

  • 谷歌也在大力支持TypeScript的推广,谷歌的angular2.x就是基于TypeScript语法

二、TS和JS的对比

  1. TS是应用程序

  2. TS是JS超集 (less sass---->css) (ts---->js)

  3. 跨平台 + 开源

  4. 开始于JS,终止于JS

  5. 重用JS,甚至可以引入js流行的库 echats

  6. TypeScript 有 类 接口 模块

三、TypeScript小课堂

注意:安装TypeScript环境之前要安装node环境

01 TypeScript开发环境的构建

安装node,安装完之后在cmd查询 node npm版本号

显示版本号则说明安装成功

在终端输入

npm install typescript -g 

安装成功之后输入如下命令,查看版本号

tsc --version  

在终端输入如下命令进行初始化

npm init -y 

成功之后会出现package.json文件。-y表示默认

package.json不需要修改什么,因为我们接下来主要是学习语法

接下来输入如下命令,会生成tsconfig.json文件。

tsc --init 

这个文件是我们写ts文件之后如何编译成为js文件的一个配置文件

接下来我们在终端输入以下命令

npm install @types/node --dev-save 

它是在我们的开发环境中使用的,它主要解决的是模块的声明文件问题

安装成功之后就可以查找其版本号啦

02 开启我们的helloWorld.ts

以上的准备工作弄好之后,我们就可以开始学习我们的ts啦

新建一个文件helloWorld.ts,就开始在里面写我们的ts代码啦

// ts支持强类型,所以我们声明一个变量a可以给它加上类型var a:string = "HelloWorld"  console.log(a) 

那下一步是什么呢?

就是我们的ts文件要转成js文件

在终端那里选择运行生成文件,选择tsc:构建-tsconfig.json这个选项

注意

  • 路径里面最好不要有中文路径

  • 如果遇到以下报错信息,可以使用管理员身份运行 PowerShell, 然后输入 set-executionpolicy remotesigned,然后选择yes

这样就成功解决这个问题啦,我们继续往下学

构建成功之后它会自动生成一个js文件,它是严格模式,是在tsconfig.json配置的

有了这个文件,我们就可以在我们的终端输入以下命令运行文件

node helloWorld.js 

可以发现被成功打印出来了~ 

03 TS变量类型那些事

下面我们抽取一些类型来实践一下吧

  • undefined

我们新建一个文件(demo003.ts)开始我们的测试

var age:number  console.log(age) 

和上面说的一样,在终端那里选择运行生成文件,选择tsc:构建-tsconfig.json这个选项来生成我们的demo003.js文件

然后我们运行我们的文件

或者在终端输入以下命令行,实现自动构建

npm tac watch 

我们会发现输出了undefined

这个时候如果我们给age赋值,运行之后就会显示出来啦。

var age:number = 18; 
  • number

我们的number不仅支持整 数,还支持浮点型数字

var age:number = 18;  var height:number = 165;  console.log(age)  console.log(height) 

  • NaN(No a Number)

var age:number = NaN  var height:number =  165;   console.log(age)  console.log(height) 

  • string

单引号和双引号都是可以的

var hls:string =  "hls喜欢 迈克杰克逊"  console.log(hls)  console.log('-------------') var cola:string =  'cola也 喜欢 迈克杰克逊'  console.log(cola)  

  • boolean

(ts中布尔值只有true和false两个)

(0和null在ts中不表示false了)

var b:boolean = true    var c:boolean = false   console.log(b)  console.log('-------------')  console.log(c) 

  • enum 枚举类型

枚举类型 enum 比如:人有男人,女人,中性 四季有春夏秋冬

enum REN{man,woman,neutral}  console.log(REN.man)  

这里打印出来的是下标,第一个是0(也就是说从零开始)

如果我们要打印出来内容,应该怎么操作呢?

console.log('-------------')   enum REN{man='男人',woman='女人',neutral='妖'}  console.log(REN.man) 

用等于赋值过去即可(注意这里要用=)

  • any 万能类型

它能够存放任意类型,并且成功输出

var t:any =10  t=true   t='hls'  console.log('-------------')  console.log(t)

ts和js不同:ts需要声明我们的变量类型

04 Ts函数

函数定义

  • 把功能相近的需求封装成一个独立的代码块

  • 然后每次传入不同的变量

  • 变量不同,所以呈现的结果就不同

function searchXiaoJieJie(age:number):string {    return '找到了'+age +'岁的小姐姐'  }var age:number = 18;  var result:string=searchXiaoJieJie(age)  console.log(result)

在这里我们只需要手动改变age的值就可以了

要注意的地方

  • 必须用function这个关键字来定义一个函数

  • 函数名与变量名是一样的(都需要遵循加类型的规则)

  • 函数的参数可有可无

  • 如果参数有多个,用逗号隔开

形参(形式上的参数)和实参(真实传递的参数)

  • 可选参数的函数

function searchXiaoJie Jie(age:number,status?:string):string {    let yy:string=''    yy='找到了'+age+'岁'    if(status!=undefined){      yy = yy +status     }  return yy+'的小姐姐'  }var result:string=searchXiaoJieJie(22,'大长腿')  console.log(result) 

  • 有默认参数的函数

function searchXiaoJieJie(age:number=18,status:string='小蛮腰'):string {    let yy:string=''    yy='找到了'+age+'岁'    if(status!=undefined){      yy = yy +status    }  return yy+'的小姐姐'  } var result:string=searchXiaoJieJie()  console.log(result) 

如果手动设置传入也是可以的

var result:string=searchXiaoJieJie(22,'大长腿') console.log(result)  

 

当我们的需求是不确定的,我们可以这样写

function searchXiaoJieJie(...xuqiu:string[]):string {    let yy:string='找到了'    for(let i=0;i<xuqiu.length-1;i++) {      yy = yy +xuqiu[i]       if(i<xuqiu.length){        yy = yy + '、'      }  }  yy=yy+'的小姐姐'    return yy   } var result:string=searchXiaoJieJie('22岁','大长腿','瓜子脸','小蛮腰')  console.log(result) 

05 函数的三种定义方式

  • 函数声明法(常用)

function add(n1:number,n2:number):number{     return n1+n2   } console.log(add(1,2)) 

  • 函数表达式法

先声明一个变量,把这个函数赋值给变量

这个变量就是函数名

通过变量名就可以调用这个函数

注意:定义之后要调用,否则会报错 

var add = function(n1:num ber,n 2:number):number{    return n1+n2  }console.log(add(1,3)) 
  • 箭头函数完全支持ES6

利于回调

函数都是有作用域的

var add=(n1:number,n2:number):number=>{     return n1+n2 //this   }console.log(add(3,5) 

06 变量的作用域,函数划分

function zhengXing():void{    var yangzi:string = '刘亦菲'    console.log(yangzi)  }zhengXing()  console.log(yangzi) 

以上例子说明了,在函数体内,是封闭的

无论是全局声明,还是什么声明,都只在函数体内起作用

在外部,所以是不起作用的

什么是全局变量?(函数体外声明的变量) 什么是局部变量?(函数体内声明的变量)

var yangzi:string = '刘亦菲'  function zhengXing():void{    console.log('我的女神是'+yangzi)  }zhengXing()    console.log(yangzi) 

小坑:重名会发生变量提升 

当重名的时候,内部变量会起作用

var yangzi:string = '刘亦菲'  function zhengXing():void{    var yangzi:string = '黄圣依'    console.log('我的女神是'+yangzi)  }zhengXing()  console.log(yangzi) 

终端显示结果:

var yangzi:string = '刘亦菲' function zhengXing():void{    //当在函数体内未声明就使用,会显示undefined   console.log('我的女神是'+yangzi)   var yangzi:string = '黄圣依'   console.log('我的女神是'+yangzi) }zhengXing() console.log(yangzi)

其实上面那一段变量提升相当于下面的写法

var yangzi:string = '刘亦菲'  function zhengXing():voi d{    var yangzi:string     console.log('我的女神是'+yangzi)     yangzi = '黄圣依'    console.log('我的女神是'+yangzi)  }zhengXing()  console.log(yangzi) 

所以说,为声明之前打印会显示undefined

所以记住第一句打印的是undefined,第二句打印的是函数体内声明的变量

js早期只有局部变量和全局变量

但是比如我们的大众语言,java,c++

她们的变量都是以大括号{}为区域划分的

所以js经常被吐槽说,js不适合大型项目开发

因为很容易引起内存溢出

因为它没有变量作用域

划分只能靠函数来进行,是非常不方便的

所以在我们的ES6,就使用了let

let关键字就可以声明函数的作用域是块级作用域

function zhengXing():void{    var yangzia:string="朱茵"    {    let yangzib:string='巩俐'      console.log('我的女神是'+yangzib+'吗')    }  console.log('我的女神是'+yangzia+'吗')    console.log('我的女神是'+yangzib+'吗')  }zhengXing() 

我们进行构建时终端会报错错误

但是我们运行文件之后会发现,它还是正常输出了,为什么?

这是一个小坑:为什么会这样?

因为它自动帮我们把let转译成了var

我们在构建编译好的js文件中可以查到

我们尝试在js文件中,把var修改成let

我们会发现会报错,说明我们的块级作用域还是起作用了

07 引用类型的数组

我们之前讲的都是值类型

比如给一个变量赋一个数值型的值

或者说给一个变量赋一个字符串

// 类let person={   name:'hls',    age:'18',    skill:'web',    saySomething:function(){     console.log('不忘初心,砥砺前行')    }}console.log(person.name)  person.saySomething() 

数组引用类型----比如:array String Date RegExp

数组的初始化,也就是声明

下面是数组的两种声明方法

let arr1:number[] //数值类型   let arr2:Array//数组类型变成了布尔类型 

下面我们看看数组赋值的两种方式

  • 字面量赋值法

let arr1:number[]=[]   let arr2:number[]=[1,2,3]  let arr3:Array<string>=['香蕉','橘子','菠萝','草莓']  let arr4:Array<boolean>=[true,false,false] 
  • 构造函数赋值法(构造函数:用new来赋值)

let arr1:number[]=new Array()  let arr2:number[]=new Array(1,2,3)  let arr3:Array<string>=new Array('香蕉','橘子','菠萝','草莓')  let arr4:Array<boolean>=new Array(tr ue,false,false)

这两种方法都阔以,都很直观鸭

有一种特殊的数组叫做元组

元组可以在我们的ts中赋值两种类型

在开发中,元祖还是比较少用的,所以此处略

08 引用类型的字符串

基本类型字符串:单引号或双引号字符引起来的字符串

引用类型字符串:用new实例化的String类型字符串

let hls:string = 'hello'  let cola:String = new String('WO')  console.log(hls)  console.log(cola) 

小结:用引用类型或者基本类型声明的字符串,属性和方法的用法都是一样的

为什么要有引用类型和基本类型两种类型呢?

其实很早之前只有普通类型

但是我们的前端人员经常操作我们的string类型

那么为了扩展方法,就加了引用类型

下面我来看看数组最基本的属性:length

let hls:string = 'hello'  let cola:String = new String('WO')  console.log(hls.length)  console.log(cola.length) 

这个属性经常使用,所以最好记住

1. 查找字符串 indexOf 

let something:string='这类框架主要原理就是将 APP的?部分需要动态变动的内容通过H5来实现'  let xiaojiejie:string = 'H5'  console.log(something.indexOf(xiaojiejie)) 

2. 从后面开始查找字符串 lastIndexOf(查无的话就返回-1)

let something:string='这类框架主要原理就是将APP的?部分需要动态变动的内容通过H5来实现'  let xiaojiejie:string = 'H'  console.log(something.lastIndexOf(xiaojiejie)) 

3. 截取字符串

let something:string='这类框架主要原理就是将APP的?部分需要动态变动的内容通过H5来实现'  let xiaojiejie:string = 'H'  console.log(something.substring(8)) 
let something:string='这类框架主要原理就是将APP的?部分需要动态变动的内容通过H5来实现'  let xiaojiejie:string = 'H'  console.log(something.substring(8,4)) 

4. 替换字符串:replace

let something:string='多学习,多练习,HTML,css,javascript'  let xiaojiejie:string = 'typecript'  console.log(something.replace('javascript','typecript')) 

09 引用类型的日期对象

  • 不传递任何参数

let d:Date = new Date()  console.log(d)  
  • 传递一个整数

let d1:Date = new Date(1000)//1970-01-01 00:00:00  let d2:Date = new Date(2000)//1970-01-01 00:00:00  console.log(d1)  console.log(d2)

  • 传递一个字符串

let d1:Date = new Date('2020/02/27 14:57:00')  let d2:Date = new Date('2020-02-27 14:57:00')  let d3:Date = new Date('2020-02-27T14:57:00')  console.log(d1)  console.log(d2)  console.log(d3) 

  

还有更多语法如下,几乎和js是一样的,不赘述

let d:Date = new Date('year','month','day','hour','minute','second','microsecond') 

10 引用类型的正则表达式

RegExp 和字符串很像

  • 构造函数声明法

let reg1:RegExp=new RegExp("helloworld")  console.log(reg1)  let reg2:RegExp=new RegExp("helloworld",'gi')  console.log(reg2) 
  • 字面量声明

let reg11:RegExp=/helloworld/  console.log(reg11)  let reg22:RegExp=/helloworld/gi  console.log(reg22)

正则表达式常用的两个方法

// test(string)  let reg1:RegExp=/helloworld/i  let website:string='helloworld.com'  let result1:boolean=reg1.test(website)  console.log(result1)  //exec(string)   let reg1:RegExp=/helloworld/i  let website:string='helloworld.com'  // let result1:boolean=reg1.test(website)  console.log(reg1.exec(website)) 

11 面向对象编程-类的声明和使用

要学会使用类,才能new出对象来

类是对象具体事物的一个抽象

对象是类的具体表现

类的出现-增加代码复用性和维护性

一系列类的使用,都叫做面向对象编程

ts就是基于类的面向对象编程语言

如何声明类?大驼峰命名法

class XiaoJieJie{   name:string   age:number   constructor(name:string,age:number){     this.name=name;     this.age=age   }  say(){     console.log('小哥哥好')   }}let jiejie:XiaoJieJie=new XiaoJieJie('HLS',18) console.log(jiejie) jiejie.say()  

12 面向对象编程-类的修饰符

  • public 共有的

  • protected

  • private

class XiaoJieJie{   public sex:string   protected name:string   private age:number   public constructor(sex:string,name:string,age:number){     this.sex = sex     this.name = name     this.age = age   }  public sayHello(){    console.log('小哥哥')    }  protected sayLove(){      console.log('我爱你')   } }var jiejie:XiaoJieJie=new XiaoJieJie('女','亦舒',22) console.log(jiejie.sex) // console.log(jiejie.name) // console.log(jiejie.age) jiejie.sayHello() // jiejie.sayLove()

注意私有的是不能访问的,VSCode会直接提示你

只读修饰符 readonly 不能改

  • 只读属性必须在声明属性时就直接给它赋值,不要给空,它会报错

class Man{   public readonly sex:String='男' }var man:Man=new Man() //不能改,改的话会报错man.sex='女' 

13 面向对象编程-基础和重写

类必须有扩展能力

继承:允许我们创建一个类(子类),从已有的类(父亲)上继承所有的属性和方法,子类可以新建父类中没有的属性和方法

父类:

class Hls{   public name:string   public age:number   public skill:string   constructor(name:string,age:number,skill:string){     this.name = name     this.age =age     this.skill =skill   }  public interest(){     console.log('听歌')  }}let hlsObj:Hls = new Hls('离散',18,'coding') hlsObj.interest() 

子类继承:

ts不支持多重继承

class Cola extends Hls{     public xingxiang:string='魅力'     public zhuangQian(){       console.log('赚了一个亿')     }}let cola=new Cola('演员',3,'表演') cola.interest() cola.zhuangQian()

重写interest方法

class Cola extends Hls{   public xingxiang:string='魅力'   public interest(){     super.interest()     console.log('建立电商平台')   }  public zhuangQian(){    console.log('赚了一个亿')  }}let cola=new Cola('演员',3,'表演') cola.interest()    

14 面向对象编程-接口知识

接口:定义规范,就是规划程序化的东西

interface Hasband{   sex:string   interest:string   //接口可选参数,有个问号  maiBaoBao?:Boolean }let myhusband:Hasband={sex:'男',interest:'看书',maiBaoBao:true} console.log(myhusband) 

定义一个函数

interface SearchMan{   (source:string,subString:string):boolean }//声明let mySearch:SearchMan mySearch=function(source :string,subString:string):boolean{   //声明一个内部变量flag进行search(查找)  let flag=source.search(subString)   //不等于-1 就是true  //等于-1 就是false  return (flag!=-1) }//调用console.log(mySearch('高,富,帅,德','胖')) 

接口还可以规范类,和规范函数差不多

15 面向对象编程-命名空间

作用:让变量之间互不干扰

 namespace shuaiGe{   export class Dehua{     public name:string = '刘德华'     talk(){       console.log('我是歌手兼演员刘德华')     }  }}​namespace bajie{   export class Dehua{     public name:string = '马德华'     talk(){      console.log('我是马德华')     }  }}let dehua1:shuaiGe.Dehua=new shuaiGe.Dehua() let dehua2:bajie.Dehua=new bajie.Dehua() dehua1.talk() dehua2.talk()  

热门专栏推荐:

❤ 知识集锦专栏:大数据生态硬核学习资料 & 面试真题集锦 ❤
❤ 数据仓库专栏:数仓发展史、建设方法论、实战经验、面试真题 ❤
❤ Python专栏:Python相关黑科技:爬虫、算法、小工具 ❤

点赞、关注不迷路!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/494666.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

EntityModelStudio系列教程2--静态建模之实体模型设计

在EMStudio中静态建模的概念和内容是来自于UML标准的&#xff0c;所以EMStudio提供的静态建模的设计能力是完全可以满足开发者的设计要求的。但是与UML标准比较&#xff0c;EMStudio中的静态建模还存在两个不同的特色&#xff1a; 1. 类与实体的概念是一致的 也就是说&#xff…

前沿科技山雨欲来,四大领域存创新机会

来源&#xff1a;北极光创投摘要&#xff1a;最近&#xff0c;北极光创投董事总经理杨磊&#xff0c;发表了《前沿科技山雨欲来》的主题演讲&#xff0c;他认为目前全球正处于前沿科技爆发前夜&#xff0c;他看好计算构架变革、移动终端、机器人、生物科技与IT融合四大领域的创…

工业机器人发展现状:硬件制造大同小异,视觉感知绘新蓝图

来源 &#xff1a;亿欧摘要&#xff1a;8月15日-8月19日&#xff0c;在北京亦庄国际会展中心举办了为期五天的2018世界机器人大会。小编认为&#xff0c;国内工业机器人的总体水平在未来长期时间将处于稳定上升区&#xff0c;而两极分化趋势愈显。8月15日-8月19日&#xff0c;在…

[C# 网络编程系列]专题七:UDP编程补充——UDP广播程序的实现

本专题主要介绍下如何实现UDP广播的程序&#xff0c;下面就直接介绍实现过程和代码以及运行的结果。 一、程序实现 UDP广播程序的实现代码&#xff1a; using System; using System.Net; using System.Net.Sockets; using System.Text; using System.Threading; using System.W…

我们离得开美国的软件和硬件吗?

来源&#xff1a;网易科技摘要&#xff1a;据报道&#xff0c;你当然可以淘汰很多美国产品&#xff0c;但你可能也会因此放弃许多令人惊叹的功能。据报道&#xff0c;你当然可以淘汰很多美国产品&#xff0c;但你可能也会因此放弃许多令人惊叹的功能。例如&#xff0c;超过10亿…

❤️❤️❤️【资料免费领取】简历模板、职场PPT模板、硬核学习资料+PDF资料(Java、Python、大数据、机器学习)❤️❤️❤️

&#x1f345;【领取方法】 长按识别二维码&#xff0c;回复【资料】领取 目录 1、100套小编购买的简历模板&#xff08;部分截图&#xff09; 2、1000套精品PPT模板&#xff08;部分截图&#xff09; 3、大数据-学习资料&#xff08;1.3G 硬核PDF&#xff0c;官方指南&…

超20亿!2018年国家自然科学基金(重点项目)出炉!

来源&#xff1a;青塔摘要&#xff1a;8月16日&#xff0c;2018年国家自然科学基金评审结果正式揭晓。8月16日&#xff0c;2018年国家自然科学基金评审结果正式揭晓。继昨天发布了2018年国家优青项目各单位的立项情况后&#xff0c;青塔今天又整理重点项目的立项情况和完整名单…

❤️ 珊姐带你学JavaScript:数组和函数 (万文建藏)❤️

&#x1f345; 作者&#xff1a;阿珊 &#x1f345; 简历模板、职场PPT模板、技术交流尽管关注私聊我。 &#x1f345; 期许&#xff1a;欢迎点赞 &#x1f44d; 收藏 ⭐留言 &#x1f4dd; 如有错误敬请指正&#xff01; 热门专栏推荐&#xff1a; &#x1f947; 大数据集锦…

产业|中国电子学会发布《机器人十大新兴应用领域(2018-2019年)》

来源&#xff1a; 中国电子学会8月19日&#xff0c;2018世界机器人大会胜利闭幕&#xff0c;闭幕式上中国电子学会发布了《发布机器人十大新兴应用领域&#xff08;2018-2019年&#xff09;》。当前&#xff0c;全球正在经历科技、产业、资本高度耦合、深度迭加的新一轮变革&am…

2018-2019年新一代AI领域十大最具成长性技术展望

来源&#xff1a;网络大数据摘要&#xff1a;在2018世界机器人大会17日的主论坛上&#xff0c;中国电子学会发布《新一代人工智能领域十大最具成长性技术展望(2018-2019年)》。当前&#xff0c;全球正在经历科技和产业高度耦合、深度迭加的新一轮变革&#xff0c;大数据的形成、…

wzplayer for android V1.0

V1.0上图,哈哈 转载于:https://www.cnblogs.com/weinyzhou/archive/2012/10/12/2750055.html

全球公有云巨头:亚马逊 AWS

来源&#xff1a;乐晴智库精选摘要&#xff1a;亚马逊AWS目前拥有超过1500种产品和2100余种第三方模块&#xff0c;为全球190个国家的企业提供支持。AWS作为亚马逊旗下的云计算服务平台&#xff0c;面向全世界范围的用户提供包括弹性计算、存储、数据库、应用程序在内的一整套云…

❤️爆肝新一代大数据存储宠儿,梳理了2万字 “超硬核” 文章!❤️

&#x1f345; 作者&#xff1a;不吃西红柿 &#x1f345; 简介&#xff1a;CSDN博客专家&#x1f3c6;、信息技术智库公号作者✌。简历模板、职场PPT模板、技术难题交流、面试套路尽管【关注】私聊我。 &#x1f345; 欢迎点赞 &#x1f44d; 收藏 ⭐留言 &#x1f4dd; 如有…

埃森哲:技术改变看病的五大趋势!每个人都将受益【附下载】| 智东西内参...

来源&#xff1a;智东西摘要&#xff1a;解读五大科技趋势及其对生活的影响&#xff0c;盘点新兴技术对医疗健康产业的影响案例。全球医疗水准已经达到一个临界点&#xff0c;那就是与技术的深度碰撞&#xff0c;商业与个人医疗的界限在模糊。医疗机构越来越重视智能化技术的作…

《画解算法》1.两数之和【python实现】

&#x1f345; 作者主页&#xff1a;不吃西红柿 &#x1f345; 简介&#xff1a;CSDN博客专家&#x1f3c6;、信息技术智库公号作者✌。简历模板、职场PPT模板、技术难题交流、面试套路尽管【关注】私聊我。 &#x1f345; 欢迎点赞 &#x1f44d; 收藏 ⭐留言 &#x1f4dd;…

工业AI时代,大数据云平台未来5年迎最佳发展时机

来源&#xff1a;专知摘要&#xff1a;继德国工业 4.0 的提出&#xff0c;中国也确立了“中国制造 2025”的目标&#xff0c;工业 4.0 及物联网的概念在中国大地上遍地开花&#xff0c;整个行业也是红红火火。从工业大数据到智能制造&#xff0c;工业大数据云平台将为工业创新和…

噪音 - Perlin Noise

转载自&#xff1a;http://www.cnblogs.com/babyrender/archive/2008/10/27/BabyRender.html 说起perlin noise, 最初也就是在课上大概了解了一下, 知道是个生成仿真贴图的东西. 学的时候没怎么细想, 只是知道这个东西很快. 生成3d贴图很方便. 不过最近在做sampling的时候, 发现…

《画解算法》2.整数反转【python-简单】

&#x1f345; 作者主页&#xff1a;不吃西红柿 &#x1f345; 简介&#xff1a;CSDN博客专家&#x1f3c6;、信息技术智库公号作者✌。简历模板、职场PPT模板、技术难题交流、面试套路尽管【关注】私聊我。 &#x1f345; 欢迎点赞 &#x1f44d; 收藏 ⭐留言 &#x1f4dd;…

360:中国为什么没有自主研发的浏览器内核?

来源&#xff1a;360公司物联网智库 整理发布摘要&#xff1a;近日360公司发表题为《中国为什么没有自主研发的浏览器内核&#xff1f;》的文章&#xff0c;文章中写道&#xff1a;从0到1&#xff0c;从无到有&#xff0c;这是很多人理解的自主研发&#xff0c;按这个标准&…

❤️ 炒 股 实 战丨原 地 起 飞 ❤️

郑重声明&#xff1a; 1、个人版可以免费获取交易数据进行分析&#xff0c;企业级大规模调用数据需要购买积分&#xff08;大家玩玩即可&#xff09; 2、为避免广告代言&#xff0c;本文将不会出现任何logo、链接和包&#xff0c;需要玩的主页私聊我&#xff01; &#x1f345…