严格地说,这个题目是不够严谨的。JavaScript和ES6之间是版本的区别而并不是两种不同的事物,但是我们往往用ES6表示新一代的JS,所以简单的说是JavaScript和新版JS和其他与JS相似的变体间的比较与区别。


JavaScript

这里的JavaScript指的是我们使用的最初的简单的JS脚本语言,下面我们对语法和特点做一些回顾。

  • 能够改变并控制页面中的所有HTML元素、属性、CSS样式,并对事件作出响应

  • window.alert()弹出警告框、document.write()写入文档、innerHTML写入元素、console.log()控制台打印

  • 用分号来结束语句是可选的,但是字符串换行需加反斜杠,不建议这样做

  • 最好不要使用JS进行小数的四则运算操作,因为精度的问题可能结果不准确,最好先转换为整数

  • 注释方式与JAVA相同,两个斜杠单行,斜杠星号多行注释

  • 任何事物均为对象,包括函数;弱类型变量,无需声明也可使用,变量可以被赋予任何类型,包括函数

  • 函数可以声明,也可作为表达式被赋给一个变量,使用此变量加括号即可调用

  • 一个函数返回另一个内部嵌套的函数,在某种情况下形成函数闭包,函数闭包解决了变量作用域的问题

  • 用===表示绝对相等,即类型和内容均相同。例如:5==‘5’返回true,但5===‘5’返回false

  • 需要注意的是null==undefined为true,但null===undefined为false

  • 可以用+号附在数字前,确保是一个数字类型,否则用Number()函数和String()函数做类型转换

  • JSON英文全称JavaScript Object Notation,冒号键值对,中间用逗号分开

ES6

let与const

使用一个var做变量声明(抑或者不声明)这种方法带来阅读和维护难度,增加let和const虽然可能使JS变得复杂,但在可用性上来讲是一种进步。

  • let作用域仅限于块内,也就是距离最近的一个大括号

  • 暂时性死区:只要块内有let变量,则块外的变量不能影响此变量

  • const类似JAVA中的final,固定值不可变需要在开始的时候就进行初始化

  • let与const变量在全局时,并不属于window的顶层变量

var tmp = 123;if (true) {tmp = 'abc'; // ReferenceErrorlet tmp;
}

解构赋值

JavaScript增加了解构赋值,这和python中的赋值方式很相似,本质上,这是一种模式的匹配,只要模式相似就会为相对应的变量进行赋值。这种方法有点类似我们初中数学中解同系数的二元二次方程组(在初中限于知识是无法求解二元二次方程组的,但是通过系数相同,能推测出x和y就是另外式子中的数字)。

解构赋值的规则是,只要等号右边的值不是对象或数组,就先将其转为对象。由于undefined和null无法转为对象,所以对它们进行解构赋值,都会报错。

  • 数组解构

let [ , , third] = ["foo", "bar", "baz"]; // third="baz"let [a, [b], d] = [1, [2, 3], 4]; // a=1 b=2 d=4let [x, y = 'b'] = ['a']; // x='a', y='b'
  • 对象解构

let { bar, foo:foa } = { foo: "aaa", bar: "bbb" }; // foa="aaa" bar="bbb"let { log, sin, cos } = Math; //将Math的方法,赋到3个变量let arr = [1, 2, 3];
let {0 : first, [arr.length - 1] : last} = arr; // first=1 last=3
  • 字符串解构

const [a, b, c] = 'hello'; // a="h" b="e" c="l"
  • 函数参数解构

function add([x, y]){return x + y;
}add([1, 2]); // 3,本来参数应该是一个arr,但是传入时被解构

变量的解构赋值用途很多:

  • 交换两个变量内容

  • 从函数返回多个值。从函数返回具有多个属性的对象,多个属性可以被作为多个返回值被解构赋给其他变量

  • 函数参数的定义更加灵活,可以用更有意义的形参名称描述传入的参数

  • 快速提取JSON中数据

  • 为函数参数设置默认值

  • 快速遍历map和set结构

[x, y] = [y, x];function example() {return {foo: 1,bar: 2};
}
let { foo, bar } = example();function f([x, y, z]) { ... }
f([1, 2, 3]); // 如果不能解构,参数要写arr,描述不形象let jsonData = {id: 42,status: "OK",data: [867, 5309]
};
let { id, status, data: number } = jsonData;
console.log(id, status, number);jQuery.ajax = function (url, {async = true,beforeSend = function () {},cache = true,global = true
} = {}) {// ... do stuff
};const map = new Map();
map.set('first', 'hello');
map.set('second', 'world');
for (let [key, value] of map) {console.log(key + " is " + value);
}

模版字符串

我们经常要在JS中插入html字符串,用来对当前的文档进行修改,但是为了符合JS的格式,这部分html字符串需要多次转译和连接。在ES6中我们只需要使用模版字符串就可以方便的处理这个问题。

  • 如果在模板字符串中需要使用反引号,则前面要用反斜杠转义

  • 如果使用模板字符串表示多行字符串,所有的空格和缩进都会被保留在输出之中

  • 模板字符串能嵌套

let name = "Bob", time = "today";
`Hello ${name}, 
how are you ${time} ${fn()}?`

基本函数新功能

  • 参数可以设置默认值。这说起来并没有什么稀奇,但是这种方法能解决我们看文档才能了解的——“哪些参数是可选的”这件事情。一般的,我们习惯将这种可选参数放在参数列表的末尾

  • 函数的length属性可以返回没有指定默认值的参数个数

  • rest参数可以获取多余的参数形成一个数组,类似于JAVA中的变长参数

  • name属性返回此函数的函数名

function log(x, y = 'World') {console.log(x, y);
}(function (a, b, c = 5) {}).length // 2function add(...values) {let sum = 0;for (var val of values) {sum += val;}return sum;
}
add(2, 5, 3) // 10function foo() {} // foo.name="foo"

箭头函数

箭头函数类似于JAVA中的lambda表达式,是一种函数的缩写方式,如果你对lambda表达式有了解,那么你会对箭头函数非常熟悉。箭头函数可以与变量解构结合使用。

var sum = (num1, num2) => num1 + num2;
// 等同于
var sum = function(num1, num2) {return num1 + num2;
};

属性缩略表示

ES6 允许直接写入变量和函数,作为对象的属性和方法。这样的书写更加简洁。简单的说就是将变量名作为属性名,那么变量的值直接作为属性值,在写的时候仅写变量名即可。

const foo = 'bar';
const baz = {foo};
baz // {foo: "bar"}
// 等同于
const baz = {foo: foo};function f(x, y) {return {x, y};
}
// 等同于
function f(x, y) {return {x: x, y: y};
}const o = {method() {return "Hello!";}
};
// 等同于
const o = {method: function() {return "Hello!";}
};

除此之外,属性不仅能使用冒号来创建,使用一对中括号加冒号的组合也是可以的。这样增加了灵活性,而且有些情况只能这样来设置属性。

let obj = {[propKey]: true,['a' + 'bc']: 123
};

Symbol

对象的属性名是很容易重复的,这样会造成很多问题,为了解决唯一性。ES6中新增了Symbol类型,此类型的每一个对象都是唯一的。通过函数生成,并且在生成的时候可以传入一个字符串作为标识(即使两个Symbol传入相同的字符串也不是同一个,字符串只用做标识)。

let s = Symbol(); // typeof s "symbol"let s1 = Symbol('foo');
let s2 = Symbol('foo');
s1 === s2 // false

当使用Symbol作为对象属性的时候需要方括号,否则会认为是一个字符串做属性名。

let a = {};
a[mySymbol] = 'Hello!';let a = {[mySymbol]: 'Hello!'
};let obj = {[s]: function (arg) { ... }
};

Symbol如何使用呢?有的时候我们需要一个变量作为标识符,用来辨识某些条件,但是此辨识符的具体值我们并不关心,此时Symbol就派上了用场。

set和map

set和map类似于JAVA中的Stream流的操作,其中forEeach、map等操作基本相同。JAVA中Stream和lambda与函数式接口配合使用,在ES6中set和map与箭头函数配合使用。

  • set中元素不重复,且set中的key和value指的是同一个,即value

  • 我们可以用map和set生成新的map,原来的值将自动复制到新map中(set视为value-value)

  • set和map的遍历顺序是插入顺序,先遍历先插入的值

  • set中值的类型、map中的键类型并不需要是相同的

let set = new Set(['red', 'green', 'blue']);[...new Set(array)] // 去除数组的重复成员const map = new Map([['name', '张三'],['title', 'Author']
]);

Class

ES6 的类,完全可以看作构造函数的另一种写法。类的类型就是函数,类本身就指向自己的构造函数。

//定义类
class Point {constructor(x, y) {this.x = x;this.y = y;}toString() {return '(' + this.x + ', ' + this.y + ')';}
}var p = new Point(1,2);

constructor方法是类的默认方法,通过new命令生成对象实例时,自动调用该方法。一个类必须有constructor方法,如果没有显式定义,一个空的constructor方法会被默认添加。

class Point {constructor() {// ...}toString() {// ...}toValue() {// ...}
}// 等同于Point.prototype = {constructor() {},toString() {},toValue() {},
};

下面代码使用表达式定义了一个类。需要注意的是,这个类的名字是MyClass而不是Me,Me只在 Class 的内部代码可用,指代当前类。实际上,如果Me不使用,是可以省略的。

const MyClass = class Me {getClassName() {return Me.name;}
};let inst = new MyClass();
inst.getClassName() // Me
Me.name // ReferenceError: Me is not defined

对于类的私有方法,我们一般约定在方法名前加上下划线来表示私有,但是这并不是保险的,只是我们的约定。

class Widget {// 公有方法foo (baz) {this._bar(baz);}// 私有方法_bar(baz) {return this.snaf = baz;}// ...
}

与 ES5 一样,在“类”的内部可以使用get和set关键字,对某个属性设置存值函数和取值函数,拦截该属性的存取行为。

class MyClass {constructor() {// ...}get prop() {return 'getter';}set prop(value) {console.log('setter: '+value);}
}let inst = new MyClass();
inst.prop = 123; // setter: 123
inst.prop // 'getter'

类相当于实例的原型,所有在类中定义的方法,都会被实例继承。如果在一个方法前,加上static关键字,就表示该方法不会被实例继承,而是直接通过类来调用,这就称为“静态方法”。

  • 父类的静态方法,可以被子类继承。

class Foo {static classMethod() {return 'hello';}
}Foo.classMethod() // 'hello'var foo = new Foo();
foo.classMethod()
// TypeError: foo.classMethod is not a function

new.target属性。new是从构造函数生成实例对象的命令。ES6为new命令引入了一个new.target属性,该属性一般用在构造函数之中,返回new命令作用于的那个构造函数。如果构造函数不是通过new命令调用的,new.target会返回undefined,因此这个属性可以用来确定构造函数是怎么调用的。

function Person(name) {if (new.target !== undefined) {this.name = name;} else {throw new Error('必须使用 new 命令生成实例');}
}
  • Class可以通过extends关键字实现继承

  • 子类必须在constructor方法中调用super方法,否则新建实例时会报错

  • Object.getPrototypeOf方法可以用来从子类上获取父类,可以使用这个方法判断,一个类是否继承了另一个类。

export

  • export语句输出的接口,与其对应的值是动态绑定关系,即通过该接口,可以取到模块内部实时的值

  • 为了给用户提供方便,让他们不用阅读文档就能加载模块,就要用到export default命令,为模块指定默认输出

export var firstName = 'Michael';var firstName = 'Michael';
var lastName = 'Jackson';
export {firstName, lastName};export function multiply(x, y) {return x * y;
};
import {multiply} from 'multiply';function foo() {console.log('foo');
}
export default foo;
import foo from 'foo'; import _, { each, each as forEach } from 'lodash';
export default function (obj) {// ···
}
export function each(obj, iterator, context) {// ···
}
export { each as forEach };

import

  • import命令输入的变量都是只读的,因为它的本质是输入接口。也就是说,不允许在加载模块的脚本里面,改写接口

  • 如果加载是模块文件名,由于不带有路径,必须通过配置,告诉引擎怎么取到这个模块

  • 由于import是静态执行,所以不能使用表达式和变量,这些只有在运行时才能得到结果的语法结构

  • 如果多次重复执行同一句import语句,那么只会执行一次,而不会执行多次

import {firstName, lastName, year} from './profile.js';import { lastName as surname } from './profile.js';import * as circle from './circle';

promise

Promise简单说就是一个容器,里面保存着某个未来才会结束的事件(通常是一个异步操作)的结果。从语法上说,Promise 是一个对象,从它可以获取异步操作的消息。有三种状态:pending(进行中)、fulfilled(已成功)和rejected(已失败)。只有异步操作的结果,可以决定当前是哪一种状态,任何其他操作都无法改变这个状态。Promise实例生成以后,可以用then方法分别指定resolved状态和rejected状态的回调函数。

const promise = new Promise(function(resolve, reject) {// ... some codeif (/* 异步操作成功 */){resolve(value);} else {reject(error);}
});promise.then(function(value) {// success
}, function(error) {// failure
});

下面是一个用Promise对象实现的 Ajax 操作的例子。

const getJSON = function(url) {const promise = new Promise(function(resolve, reject){const handler = function() {if (this.readyState !== 4) {return;}if (this.status === 200) {resolve(this.response);} else {reject(new Error(this.statusText));}};const client = new XMLHttpRequest();client.open("GET", url);client.onreadystatechange = handler;client.responseType = "json";client.setRequestHeader("Accept", "application/json");client.send();});return promise;
};getJSON("/posts.json").then(function(json) {console.log('Contents: ' + json);
}, function(error) {console.error('出错了', error);
});

TypeScrpit

我们为什么要使用TypeScript?

  • 类型系统实际上是最好的文档,大部分的函数看看类型的定义就可以知道如何使用了

  • 可以在编译阶段就发现大部分错误,这总比在运行时候出错好

  • 增强了编辑器和IDE的功能,包括代码补全、接口提示、跳转到定义、重构等

  • TypeScript是JavaScript的超集,.js文件可以直接重命名为.ts即可

  • 即使TypeScript编译报错,也可以生成JavaScript文件

  • 兼容第三方库,即使第三方库不是用TypeScript写的,也可以编写单独的类型文件供TypeScript读取

下面我们主要介绍各种JavaScript的类型和结构在TypeScript中的写法。

基本数据类型

  • 如果声明类型是any,则可以被赋值为任何类型,并且对这个any类型的值进行任何操作,返回的值的类型也都是any

  • 如果定义的时候没有赋值,不管之后有没有赋值,都会被推断成 any 类型而完全不被类型检查。如果定义的时候被赋值,则会被自动认定为相应类型的值

  • 可以被声明为联合类型,表示取值可以为多种类型中的一种。但是如果一个值被声明为联合类型,它只能访问这些类型中共有的属性或方法。比如,一个变量被声明为string|number,则不能访问length,因为number没有这个属性。解决的方法是,先将变量赋值,这样变量会自动变成当前值的类型,再调用属性或方法就不会被联合类型限制

  • 通过断言的方法(值 as 类型),将联合类型的变量的类型指定为一个更具体的类型

let isDone: boolean = false;let sum: number = 0;let substr: string = 'hello';function funcName(): void {// do something...
}let myFavoriteNumber: any = 'seven'; let something; // 被识别为any类型
something = 'seven';
something = 7;let myFavoriteNumber = 'seven'; // 因为赋值了,被认定为string类型
myFavoriteNumber = 7;function getLength(something: string | number): number {return something.length; //报错
}let myFavoriteNumber: string | number;
myFavoriteNumber = 'seven';
console.log(myFavoriteNumber.length); // 5
myFavoriteNumber = 7;
console.log(myFavoriteNumber.length); // 编译时报错function getLength(something: string | number): number {if ((something as string).length) {return (<string>something).length;} else {return something.toString().length;}
}

对象类型

  • 在TypeScript中,我们使用接口(Interfaces)来定义对象的类型。定义了类型之后就可以像其他类型(number、string)一样去做其他变量的类型

  • 我们在属性的冒号前加上问号,表示这是一个可选属性,有没有均可

  • 我们用[propName: string]: any;表示可以添加一个任意类型的属性,需要注意的是,一旦定义了任意属性,那么确定属性和可选属性都必须是它的子属性

  • 用readonly定义只读属性,类似const,只读的约束存在于第一次给对象赋值的时候,而不是第一次给只读属性赋值的时候

interface Person {readonly id: number;name: string;age?: number;[propName: string]: any;
}let tom: Person = {id: 89757,name: 'Tom',age: 25
};

数组类型

  • 最简单的方法是使用「类型 + 方括号」来表示数组,数组中如果有多个类型,应该使用联合类型,否则报错

  • 也可以使用数组泛型来表示数组

  • 一个比较常见的做法是,用 any 表示数组中允许出现任意类型:

let fibonacci: number[] = [1, 1, 2, 3, 5];let fibonacci: Array<number> = [1, 1, 2, 3, 5];let list: any[] = ['Xcat Liu', 25, { website: 'http://xcatliu.com' }];

函数类型

  • 与接口中的可选属性类似,我们用 ? 表示可选的参数,也允许给函数的参数添加默认值。TypeScript会将添加了默认值的参数识别为可选参数,可选参数后面不允许再出现必须参数了

  • ES6中的声誉参数可以用一个数组表示

  • 写多个类型的函数进行重载,实现最后的函数

function sum(x: number, y: number): number {return x + y;
}let mySum: (x: number, y: number) => number = function (x: number, y: number): number {return x + y;
};function buildName(firstName: string, lastName?: string) {// ...
}function buildName(firstName: string, lastName: string = 'Cat') {// ...
}function push(array: any[], ...items: any[]) {// ...
}function reverse(x: number): number;
function reverse(x: string): string;
function reverse(x: number | string): number | string {if (typeof x === 'number') {return Number(x.toString().split('').reverse().join(''));} else if (typeof x === 'string') {return x.split('').reverse().join('');}
}

声明文件

  • 当使用第三方库时,我们需要引用它的声明文件。在使用到的文件的开头,用三斜线指令表示引用了声明文件

// jQuery.d.tsdeclare var jQuery: (string) => any;/// <reference path="./jQuery.d.ts" />jQuery('#foo');

类型别名

  • 类型别名用来给一个类型起个新名字

  • 字符串字面量类型用来约束取值只能是某几个字符串中的一个

type Name = string;
type NameResolver = () => string;
type NameOrResolver = Name | NameResolver;
function getName(n: NameOrResolver): Name {if (typeof n === 'string') {return n;} else {return n();}
}type EventNames = 'click' | 'scroll' | 'mousemove';
function handleEvent(ele: Element, event: EventNames) {// do something
}handleEvent(document.getElementById('hello'), 'scroll');  // 没问题
handleEvent(document.getElementById('world'), 'dbclick'); // 报错

类与接口

  • TypeScript可以使用三种访问修饰符,分别是public、private和protected

  • 可以定义abstract抽象类

  • 可以创建接口,关键字和对象的类型一样,但是功能类似于JAVA,接口可以继承

class Animal {name: string;constructor(name: string) {this.name = name;}sayHi(): string {return `My name is ${this.name}`;}
}let a: Animal = new Animal('Jack');
console.log(a.sayHi()); // My name is Jack

泛型

  • 泛型是指在定义函数、接口或类的时候,不预先指定具体的类型,而在使用的时候再指定类型的一种特性

function createArray<T>(length: number, value: T): Array<T> {let result: T[] = [];for (let i = 0; i < length; i++) {result[i] = value;}return result;
}createArray<string>(3, 'x'); // ['x', 'x', 'x']
查看全文
如若内容造成侵权/违法违规/事实不符,请联系编程学习网邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

相关文章

  1. Ubuntu中安装windows中文字体

    最近在做项目的过程中发现了中文乱码的问题,我的需求是,将pdf文件流生成pdf文件,然后再将pdf文件生成图片,在生成图片后发现图片中的中文乱码,下面提供解决方法1.Windows的字体一般存放在c:\windows\fonts目录下,打开以后看到那么多的字体文件,不管那么多了全部Copy过来…...

    2024/3/7 14:56:01
  2. 开源爬虫: Heritrix 1.14.4 安装/使用

    本文转自:http://blog.sina.com.cn/s/blog_5f54f0be0101hcy8.htmlHeritrix 是一个由 java 开发的、开源的网络爬虫,用户可以使用它来从网上抓取想要的资源。其最出色之处在于它良好的可扩展性,方便用户实现自己的抓取逻辑。本文详细介绍了 Heritrix 在 Eclipse 中的配置、运…...

    2024/3/7 14:56:00
  3. ES6的let到底存不存在变量提升

    关于ES6中的let存不存在变量提升的问题,我想大部分人都认为是不存在变量提升的,而官方文档关于这点也曾做过改动,最初是认为存在变量提升,后来又改成了不存在变量提升。而最近我在CSDN上看到一篇文章在探讨这个问题,于是自己就试验了一下。实践是检验真理的唯一标准,那么…...

    2024/3/13 6:20:54
  4. unigui美化界面源码框架

    对于delphier来说,用delphi开发web程序,一直是一个很头痛的问题,在ui界面上要想漂亮,要学习css和美工知识,很多人都不得不放弃了。unigui是一个很好的框架,和delphier原生框架一样,拖放控件就能实现web开发,界面也相对原始的delphi控件来说,有一定的美化,但是还是和主…...

    2024/3/7 14:55:58
  5. Python Linux系统管理与自动化运维之深入浅出Ansible(一)

    Ansible维护模式通常由控制机和被管理机组成。因为Ansible的特性不像其他运维工具那样需要在被监控的目标上安装agent,所以我们的侧重点只需要放在安装了Ansible的服务器上(当然用于实验环境的话可以是一台笔记本,台式机或者仅仅只需要一台虚拟机即可)。Ansible可以通过SSH…...

    2024/3/7 14:55:57
  6. HTML表单优化

    运用自己少的可怜的html+css+js知识,写了这么几个美化,提供源代码和美化后的结果给大家 基础:HTML+CSS+JS文本框优化:<!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8"><title>文本框美化</tit…...

    2024/3/28 20:49:18
  7. Elasticsearch——6.x 父子文档join type文档mapping

    官方文档: https://www.elastic.co/guide/en/elasticsearch/reference/current/parent-join.html1、完整文档 {"mappings": {"_doc": {"properties": {"event_join_user": { "type": "join","relations&quo…...

    2024/3/7 14:55:56
  8. 字体侵权问题

    1.“微软雅黑”字体版权属于“方正公司”不可商用,商用需取得授权; 2.“苹方”字体版权属于“威锋数位(原华康科技)”; 3.系统自带的黑体、宋体、仿宋、隶书、楷体、幼圆这六款字体属于通用字体,没有具体的著作权,可作商用; 4.可商用字体:思源字体,思源衍生字体,站酷…...

    2024/3/7 14:55:54
  9. linux环境(三)python自动化运维

    psutil使用 http://blog.csdn.net/u012823211/article/details/41986257 IP模块使用 http://blog.csdn.net/u012823211/article/details/41986299 DNSpython应用 http://blog.csdn.net/u012823211/article/details/41986381...

    2024/3/7 14:55:53
  10. ES6: babel配置与babel-clic安装

    本来以为几分钟能配置完的东西,结果几乎花了两个小时来配置babel环境。最后是参考了官方文档的一些说明,才成功的配置出来。这也算是个教训,官方文档不可不看。在此写下这篇文章,避免大家以后走一样的弯路。 Babel:是一个广泛使用的ES6转码器,可以将ES6代码转为ES5代码…...

    2024/3/29 7:41:16
  11. web端使用字体的实用版font-family

    移动端字体1.ios系统 a.默认中文字体是 Heiti SC b.默认英文字体是 Helvetica c.默认数字字体是 HelveticaNeu 2. android系统 a.默认中文字体是Droidsansfallback b.默认英文和数字字体是Droid Sans 3.winphone系统a.默认中文字体是Dengxian(方正等线体)b.默认英文和数字字体是…...

    2024/3/7 14:55:51
  12. CSS漂亮搜索框代码

    制作方法: 一是整体处理一个背景,以透明gif图的方式定位到搜索框,或者切分开,这种方法加载快,而且灵活性更高。 效果图:素材:源代码: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dt…...

    2024/3/4 9:59:30
  13. ES5.x中文文档

    http://doc.codingdict.com/elasticsearch/101/...

    2024/3/6 5:45:42
  14. 云时代IDC自动化运维的几大神器

    自动化运维是数据中心、互联网企业高度重视的方向,数据中心的从纯手工、重复地进行软件部署运维,经历编写脚本运维,再到借助第三方工具高效、方便地部署和运维,在转变的过程中已大大提升了运维的效率和性能。下面给大家推荐几款自动化运维的工具。一、预备类工具在云时代的…...

    2024/3/4 9:59:28
  15. IT运维管理基础知识:运维人员应该必备的五大技术

    本文转自:http://www.betasoft.com.cn/btzsk/2010-07-21/448.html下面将IT运维管理基础知识必须要学习或能让你运维任务加分的技艺稍做简介。最先我们假定你是一个公司的IT运维经理。须要完成五十台以上的服务器和若干杂七杂八的配备,哪些运维人员应该必备的技术?IT运维管理…...

    2024/3/28 23:49:24
  16. 文件上传域美化CSS

    文件上传域美化CSS<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Conten…...

    2024/3/28 23:49:23
  17. 运维自动化的定义:数据-事件-流程

    本文由优云运维社区热心粉丝符杰超整理而成,符杰超,现任熊猫tv基础架构部高级运维开发工程师。全文2000字,阅读预计13分钟,纯干货。 随着互联网发展迅猛,不同的公司IT基础设施面临的增长和快速发展。从人肉维护,建设到半自动,全自动,由此产生的自动化体系/运维工具越来…...

    2024/3/28 23:49:21
  18. 网站开发进阶(四十一)中文字体网页开发指南

    网站开发进阶(四十一)中文字体网页开发指南前言 字体的选择,是网页开发的关键因素之一。 合适的字体,对网页的美观度(或可读性)有着举足轻重的影响。 但是,相比英文字体,中文字体的网页开发有着极大的局限性。因为,一套中文字体最少也要有几千个字符…...

    2024/3/28 23:49:20
  19. ES6 极简教程(ES6 Tutorial) 文 / 东海陈光剑

    ES6 极简教程(ES6 Tutorial) 文 / 东海陈光剑 ECMAScript简介 JavaScript是ECMAScript的实现和扩展,由ECMA(一个类似W3C的标准组织)参与进行标准化。ECMAScript定义了: 语言语法 – 语法解析规则、关键字、语句、声明、运算符等。 类型 – 布尔型、数字、字符串、对象等。…...

    2024/3/7 14:55:47
  20. H5中input中range类型的美化及其

    目前在开发移动web的时候,使用到了input的range类型,涉及到了美化,那接下来就给大家说一说关于美化的问题1、如何使用滑动条?用法很简单,如下所示:<input type="range" value="0">1各浏览器原始样式如下: Chrome: Firefox: IE 9+: 常…...

    2024/3/7 14:55:46

最新文章

  1. 【大数据运维】minio 常见shell操作

    文章目录 1. 安装2. 入门操作3. 命令帮助 1. 安装 下载 https://dl.min.io/client/mc/release/linux-amd64/ 赋权与使用 cp mc /usr/bin && chmod x /usr/bin/mc ./mc --help 2. 入门操作 # 添加minio到mc mc config host add minio_alias_name endpoint_adress …...

    2024/3/29 13:35:59
  2. 梯度消失和梯度爆炸的一些处理方法

    在这里是记录一下梯度消失或梯度爆炸的一些处理技巧。全当学习总结了如有错误还请留言&#xff0c;在此感激不尽。 权重和梯度的更新公式如下&#xff1a; w w − η ⋅ ∇ w w w - \eta \cdot \nabla w ww−η⋅∇w 个人通俗的理解梯度消失就是网络模型在反向求导的时候出…...

    2024/3/20 10:50:27
  3. 【Java学习】JVM:探索Java虚拟机的黑科技与无限可能

    1. 概述&#xff1a; Java虚拟机&#xff08;JVM&#xff09;是Java程序运行的核心&#xff0c;它负责将Java字节码转换为特定平台上的机器码并执行。JVM包含了七大核心系统&#xff0c;它们共同协作以支持Java程序的运行和管理。本文将从基础理论到高级应用&#xff0c;深入探…...

    2024/3/29 12:55:05
  4. 通过Appium和Xcode Accessibility Inspector获取iOS应用元素定位的方法

    在 iOS 移动应用程序上使用选择器查找元素定位是我们在移动端 UI 自动化测试的先决条件。 但是&#xff0c;由于应用程序内容在原生 iOS 应用程序中的呈现方式&#xff0c;我们可以用来定位应用程序元素的选择器与 Web 浏览器元素有很大不同。 在本文中&#xff0c;我们将了解 …...

    2024/3/28 8:59:16
  5. 计算机软件安全

    一、软件安全涉及的范围 1.1软件本身的安全保密 软件的本质与特征&#xff1a; 可移植性 寄生性 再生性 可激发性 攻击性 破坏性 …… 知识产权与软件盗版 软件商品交易形式不透明&#xff0c;方式多样&#xff0c;传统商标标识方法不适用&#xff1b; 盗版方法简捷…...

    2024/3/29 9:02:46
  6. 【外汇早评】美通胀数据走低,美元调整

    原标题:【外汇早评】美通胀数据走低,美元调整昨日美国方面公布了新一期的核心PCE物价指数数据,同比增长1.6%,低于前值和预期值的1.7%,距离美联储的通胀目标2%继续走低,通胀压力较低,且此前美国一季度GDP初值中的消费部分下滑明显,因此市场对美联储后续更可能降息的政策…...

    2024/3/27 10:21:24
  7. 【原油贵金属周评】原油多头拥挤,价格调整

    原标题:【原油贵金属周评】原油多头拥挤,价格调整本周国际劳动节,我们喜迎四天假期,但是整个金融市场确实流动性充沛,大事频发,各个商品波动剧烈。美国方面,在本周四凌晨公布5月份的利率决议和新闻发布会,维持联邦基金利率在2.25%-2.50%不变,符合市场预期。同时美联储…...

    2024/3/24 20:11:25
  8. 【外汇周评】靓丽非农不及疲软通胀影响

    原标题:【外汇周评】靓丽非农不及疲软通胀影响在刚结束的周五,美国方面公布了新一期的非农就业数据,大幅好于前值和预期,新增就业重新回到20万以上。具体数据: 美国4月非农就业人口变动 26.3万人,预期 19万人,前值 19.6万人。 美国4月失业率 3.6%,预期 3.8%,前值 3…...

    2024/3/29 2:45:46
  9. 【原油贵金属早评】库存继续增加,油价收跌

    原标题:【原油贵金属早评】库存继续增加,油价收跌周三清晨公布美国当周API原油库存数据,上周原油库存增加281万桶至4.692亿桶,增幅超过预期的74.4万桶。且有消息人士称,沙特阿美据悉将于6月向亚洲炼油厂额外出售更多原油,印度炼油商预计将每日获得至多20万桶的额外原油供…...

    2024/3/24 20:11:23
  10. 【外汇早评】日本央行会议纪要不改日元强势

    原标题:【外汇早评】日本央行会议纪要不改日元强势近两日日元大幅走强与近期市场风险情绪上升,避险资金回流日元有关,也与前一段时间的美日贸易谈判给日本缓冲期,日本方面对汇率问题也避免继续贬值有关。虽然今日早间日本央行公布的利率会议纪要仍然是支持宽松政策,但这符…...

    2024/3/29 5:19:52
  11. 【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响

    原标题:【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响近日伊朗局势升温,导致市场担忧影响原油供给,油价试图反弹。此时OPEC表态稳定市场。据消息人士透露,沙特6月石油出口料将低于700万桶/日,沙特已经收到石油消费国提出的6月份扩大出口的“适度要求”,沙特将满…...

    2024/3/28 17:01:12
  12. 【外汇早评】美欲与伊朗重谈协议

    原标题:【外汇早评】美欲与伊朗重谈协议美国对伊朗的制裁遭到伊朗的抗议,昨日伊朗方面提出将部分退出伊核协议。而此行为又遭到欧洲方面对伊朗的谴责和警告,伊朗外长昨日回应称,欧洲国家履行它们的义务,伊核协议就能保证存续。据传闻伊朗的导弹已经对准了以色列和美国的航…...

    2024/3/29 11:11:56
  13. 【原油贵金属早评】波动率飙升,市场情绪动荡

    原标题:【原油贵金属早评】波动率飙升,市场情绪动荡因中美贸易谈判不安情绪影响,金融市场各资产品种出现明显的波动。随着美国与中方开启第十一轮谈判之际,美国按照既定计划向中国2000亿商品征收25%的关税,市场情绪有所平复,已经开始接受这一事实。虽然波动率-恐慌指数VI…...

    2024/3/29 1:13:26
  14. 【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试

    原标题:【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试美国和伊朗的局势继续升温,市场风险情绪上升,避险黄金有向上突破阻力的迹象。原油方面稍显平稳,近期美国和OPEC加大供给及市场需求回落的影响,伊朗局势并未推升油价走强。近期中美贸易谈判摩擦再度升级,美国对中…...

    2024/3/29 8:28:16
  15. 【原油贵金属早评】市场情绪继续恶化,黄金上破

    原标题:【原油贵金属早评】市场情绪继续恶化,黄金上破周初中国针对于美国加征关税的进行的反制措施引发市场情绪的大幅波动,人民币汇率出现大幅的贬值动能,金融市场受到非常明显的冲击。尤其是波动率起来之后,对于股市的表现尤其不安。隔夜美国股市出现明显的下行走势,这…...

    2024/3/29 7:41:19
  16. 【外汇早评】美伊僵持,风险情绪继续升温

    原标题:【外汇早评】美伊僵持,风险情绪继续升温昨日沙特两艘油轮再次发生爆炸事件,导致波斯湾局势进一步恶化,市场担忧美伊可能会出现摩擦生火,避险品种获得支撑,黄金和日元大幅走强。美指受中美贸易问题影响而在低位震荡。继5月12日,四艘商船在阿联酋领海附近的阿曼湾、…...

    2024/3/24 20:11:18
  17. 【原油贵金属早评】贸易冲突导致需求低迷,油价弱势

    原标题:【原油贵金属早评】贸易冲突导致需求低迷,油价弱势近日虽然伊朗局势升温,中东地区几起油船被袭击事件影响,但油价并未走高,而是出于调整结构中。由于市场预期局势失控的可能性较低,而中美贸易问题导致的全球经济衰退风险更大,需求会持续低迷,因此油价调整压力较…...

    2024/3/29 9:57:23
  18. 氧生福地 玩美北湖(上)——为时光守候两千年

    原标题:氧生福地 玩美北湖(上)——为时光守候两千年一次说走就走的旅行,只有一张高铁票的距离~ 所以,湖南郴州,我来了~ 从广州南站出发,一个半小时就到达郴州西站了。在动车上,同时改票的南风兄和我居然被分到了一个车厢,所以一路非常愉快地聊了过来。 挺好,最起…...

    2024/3/29 0:49:46
  19. 氧生福地 玩美北湖(中)——永春梯田里的美与鲜

    原标题:氧生福地 玩美北湖(中)——永春梯田里的美与鲜一觉醒来,因为大家太爱“美”照,在柳毅山庄去寻找龙女而错过了早餐时间。近十点,向导坏坏还是带着饥肠辘辘的我们去吃郴州最富有盛名的“鱼头粉”。说这是“十二分推荐”,到郴州必吃的美食之一。 哇塞!那个味美香甜…...

    2024/3/24 20:11:15
  20. 氧生福地 玩美北湖(下)——奔跑吧骚年!

    原标题:氧生福地 玩美北湖(下)——奔跑吧骚年!让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 啊……啊……啊 两…...

    2024/3/27 7:12:50
  21. 扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!

    原标题:扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!扒开伪装医用面膜,翻六倍价格宰客!当行业里的某一品项火爆了,就会有很多商家蹭热度,装逼忽悠,最近火爆朋友圈的医用面膜,被沾上了污点,到底怎么回事呢? “比普通面膜安全、效果好!痘痘、痘印、敏感肌都能用…...

    2024/3/24 20:11:13
  22. 「发现」铁皮石斛仙草之神奇功效用于医用面膜

    原标题:「发现」铁皮石斛仙草之神奇功效用于医用面膜丽彦妆铁皮石斛医用面膜|石斛多糖无菌修护补水贴19大优势: 1、铁皮石斛:自唐宋以来,一直被列为皇室贡品,铁皮石斛生于海拔1600米的悬崖峭壁之上,繁殖力差,产量极低,所以古代仅供皇室、贵族享用 2、铁皮石斛自古民间…...

    2024/3/26 11:21:23
  23. 丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者

    原标题:丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者【公司简介】 广州华彬企业隶属香港华彬集团有限公司,专注美业21年,其旗下品牌: 「圣茵美」私密荷尔蒙抗衰,产后修复 「圣仪轩」私密荷尔蒙抗衰,产后修复 「花茵莳」私密荷尔蒙抗衰,产后修复 「丽彦妆」专注医学护…...

    2024/3/28 18:26:34
  24. 广州械字号面膜生产厂家OEM/ODM4项须知!

    原标题:广州械字号面膜生产厂家OEM/ODM4项须知!广州械字号面膜生产厂家OEM/ODM流程及注意事项解读: 械字号医用面膜,其实在我国并没有严格的定义,通常我们说的医美面膜指的应该是一种「医用敷料」,也就是说,医用面膜其实算作「医疗器械」的一种,又称「医用冷敷贴」。 …...

    2024/3/28 12:42:28
  25. 械字号医用眼膜缓解用眼过度到底有无作用?

    原标题:械字号医用眼膜缓解用眼过度到底有无作用?医用眼膜/械字号眼膜/医用冷敷眼贴 凝胶层为亲水高分子材料,含70%以上的水分。体表皮肤温度传导到本产品的凝胶层,热量被凝胶内水分子吸收,通过水分的蒸发带走大量的热量,可迅速地降低体表皮肤局部温度,减轻局部皮肤的灼…...

    2024/3/28 20:09:10
  26. 配置失败还原请勿关闭计算机,电脑开机屏幕上面显示,配置失败还原更改 请勿关闭计算机 开不了机 这个问题怎么办...

    解析如下&#xff1a;1、长按电脑电源键直至关机&#xff0c;然后再按一次电源健重启电脑&#xff0c;按F8健进入安全模式2、安全模式下进入Windows系统桌面后&#xff0c;按住“winR”打开运行窗口&#xff0c;输入“services.msc”打开服务设置3、在服务界面&#xff0c;选中…...

    2022/11/19 21:17:18
  27. 错误使用 reshape要执行 RESHAPE,请勿更改元素数目。

    %读入6幅图像&#xff08;每一幅图像的大小是564*564&#xff09; f1 imread(WashingtonDC_Band1_564.tif); subplot(3,2,1),imshow(f1); f2 imread(WashingtonDC_Band2_564.tif); subplot(3,2,2),imshow(f2); f3 imread(WashingtonDC_Band3_564.tif); subplot(3,2,3),imsho…...

    2022/11/19 21:17:16
  28. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机...

    win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”问题的解决方法在win7系统关机时如果有升级系统的或者其他需要会直接进入一个 等待界面&#xff0c;在等待界面中我们需要等待操作结束才能关机&#xff0c;虽然这比较麻烦&#xff0c;但是对系统进行配置和升级…...

    2022/11/19 21:17:15
  29. 台式电脑显示配置100%请勿关闭计算机,“准备配置windows 请勿关闭计算机”的解决方法...

    有不少用户在重装Win7系统或更新系统后会遇到“准备配置windows&#xff0c;请勿关闭计算机”的提示&#xff0c;要过很久才能进入系统&#xff0c;有的用户甚至几个小时也无法进入&#xff0c;下面就教大家这个问题的解决方法。第一种方法&#xff1a;我们首先在左下角的“开始…...

    2022/11/19 21:17:14
  30. win7 正在配置 请勿关闭计算机,怎么办Win7开机显示正在配置Windows Update请勿关机...

    置信有很多用户都跟小编一样遇到过这样的问题&#xff0c;电脑时发现开机屏幕显现“正在配置Windows Update&#xff0c;请勿关机”(如下图所示)&#xff0c;而且还需求等大约5分钟才干进入系统。这是怎样回事呢&#xff1f;一切都是正常操作的&#xff0c;为什么开时机呈现“正…...

    2022/11/19 21:17:13
  31. 准备配置windows 请勿关闭计算机 蓝屏,Win7开机总是出现提示“配置Windows请勿关机”...

    Win7系统开机启动时总是出现“配置Windows请勿关机”的提示&#xff0c;没过几秒后电脑自动重启&#xff0c;每次开机都这样无法进入系统&#xff0c;此时碰到这种现象的用户就可以使用以下5种方法解决问题。方法一&#xff1a;开机按下F8&#xff0c;在出现的Windows高级启动选…...

    2022/11/19 21:17:12
  32. 准备windows请勿关闭计算机要多久,windows10系统提示正在准备windows请勿关闭计算机怎么办...

    有不少windows10系统用户反映说碰到这样一个情况&#xff0c;就是电脑提示正在准备windows请勿关闭计算机&#xff0c;碰到这样的问题该怎么解决呢&#xff0c;现在小编就给大家分享一下windows10系统提示正在准备windows请勿关闭计算机的具体第一种方法&#xff1a;1、2、依次…...

    2022/11/19 21:17:11
  33. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”的解决方法...

    今天和大家分享一下win7系统重装了Win7旗舰版系统后&#xff0c;每次关机的时候桌面上都会显示一个“配置Windows Update的界面&#xff0c;提示请勿关闭计算机”&#xff0c;每次停留好几分钟才能正常关机&#xff0c;导致什么情况引起的呢&#xff1f;出现配置Windows Update…...

    2022/11/19 21:17:10
  34. 电脑桌面一直是清理请关闭计算机,windows7一直卡在清理 请勿关闭计算机-win7清理请勿关机,win7配置更新35%不动...

    只能是等着&#xff0c;别无他法。说是卡着如果你看硬盘灯应该在读写。如果从 Win 10 无法正常回滚&#xff0c;只能是考虑备份数据后重装系统了。解决来方案一&#xff1a;管理员运行cmd&#xff1a;net stop WuAuServcd %windir%ren SoftwareDistribution SDoldnet start WuA…...

    2022/11/19 21:17:09
  35. 计算机配置更新不起,电脑提示“配置Windows Update请勿关闭计算机”怎么办?

    原标题&#xff1a;电脑提示“配置Windows Update请勿关闭计算机”怎么办&#xff1f;win7系统中在开机与关闭的时候总是显示“配置windows update请勿关闭计算机”相信有不少朋友都曾遇到过一次两次还能忍但经常遇到就叫人感到心烦了遇到这种问题怎么办呢&#xff1f;一般的方…...

    2022/11/19 21:17:08
  36. 计算机正在配置无法关机,关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机...

    关机提示 windows7 正在配置windows 请勿关闭计算机 &#xff0c;然后等了一晚上也没有关掉。现在电脑无法正常关机以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;关机提示 windows7 正在配…...

    2022/11/19 21:17:05
  37. 钉钉提示请勿通过开发者调试模式_钉钉请勿通过开发者调试模式是真的吗好不好用...

    钉钉请勿通过开发者调试模式是真的吗好不好用 更新时间:2020-04-20 22:24:19 浏览次数:729次 区域: 南阳 > 卧龙 列举网提醒您:为保障您的权益,请不要提前支付任何费用! 虚拟位置外设器!!轨迹模拟&虚拟位置外设神器 专业用于:钉钉,外勤365,红圈通,企业微信和…...

    2022/11/19 21:17:05
  38. 配置失败还原请勿关闭计算机怎么办,win7系统出现“配置windows update失败 还原更改 请勿关闭计算机”,长时间没反应,无法进入系统的解决方案...

    前几天班里有位学生电脑(windows 7系统)出问题了&#xff0c;具体表现是开机时一直停留在“配置windows update失败 还原更改 请勿关闭计算机”这个界面&#xff0c;长时间没反应&#xff0c;无法进入系统。这个问题原来帮其他同学也解决过&#xff0c;网上搜了不少资料&#x…...

    2022/11/19 21:17:04
  39. 一个电脑无法关闭计算机你应该怎么办,电脑显示“清理请勿关闭计算机”怎么办?...

    本文为你提供了3个有效解决电脑显示“清理请勿关闭计算机”问题的方法&#xff0c;并在最后教给你1种保护系统安全的好方法&#xff0c;一起来看看&#xff01;电脑出现“清理请勿关闭计算机”在Windows 7(SP1)和Windows Server 2008 R2 SP1中&#xff0c;添加了1个新功能在“磁…...

    2022/11/19 21:17:03
  40. 请勿关闭计算机还原更改要多久,电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机怎么办...

    许多用户在长期不使用电脑的时候&#xff0c;开启电脑发现电脑显示&#xff1a;配置windows更新失败&#xff0c;正在还原更改&#xff0c;请勿关闭计算机。。.这要怎么办呢&#xff1f;下面小编就带着大家一起看看吧&#xff01;如果能够正常进入系统&#xff0c;建议您暂时移…...

    2022/11/19 21:17:02
  41. 还原更改请勿关闭计算机 要多久,配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以...

    配置windows update失败 还原更改 请勿关闭计算机&#xff0c;电脑开机后一直显示以以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;配置windows update失败 还原更改 请勿关闭计算机&#x…...

    2022/11/19 21:17:01
  42. 电脑配置中请勿关闭计算机怎么办,准备配置windows请勿关闭计算机一直显示怎么办【图解】...

    不知道大家有没有遇到过这样的一个问题&#xff0c;就是我们的win7系统在关机的时候&#xff0c;总是喜欢显示“准备配置windows&#xff0c;请勿关机”这样的一个页面&#xff0c;没有什么大碍&#xff0c;但是如果一直等着的话就要两个小时甚至更久都关不了机&#xff0c;非常…...

    2022/11/19 21:17:00
  43. 正在准备配置请勿关闭计算机,正在准备配置windows请勿关闭计算机时间长了解决教程...

    当电脑出现正在准备配置windows请勿关闭计算机时&#xff0c;一般是您正对windows进行升级&#xff0c;但是这个要是长时间没有反应&#xff0c;我们不能再傻等下去了。可能是电脑出了别的问题了&#xff0c;来看看教程的说法。正在准备配置windows请勿关闭计算机时间长了方法一…...

    2022/11/19 21:16:59
  44. 配置失败还原请勿关闭计算机,配置Windows Update失败,还原更改请勿关闭计算机...

    我们使用电脑的过程中有时会遇到这种情况&#xff0c;当我们打开电脑之后&#xff0c;发现一直停留在一个界面&#xff1a;“配置Windows Update失败&#xff0c;还原更改请勿关闭计算机”&#xff0c;等了许久还是无法进入系统。如果我们遇到此类问题应该如何解决呢&#xff0…...

    2022/11/19 21:16:58
  45. 如何在iPhone上关闭“请勿打扰”

    Apple’s “Do Not Disturb While Driving” is a potentially lifesaving iPhone feature, but it doesn’t always turn on automatically at the appropriate time. For example, you might be a passenger in a moving car, but your iPhone may think you’re the one dri…...

    2022/11/19 21:16:57