2024年java基础教程第3版源码

java基础教程第3版源码js 是单线程语言 不能同时干两件事 同步 异步的理解 是否阻塞程序的执行 如果是就是同步 否则就是异步 异步有 ajax 请求 定时器 图片加载 点击事件 promise Promise 对象是一个构造函数 用来生成 Promise 实例 它有三个状态 进行中 已成功 已失败 最大的缺点一创建无法取消 接受两个回调函数 Promise 构造函数接受一个函数作为参数

大家好,我是讯享网,很高兴认识大家。



js是单线程语言,不能同时干两件事

同步、异步的理解 是否阻塞程序的执行,如果是就是同步,否则就是异步

 
讯享网 

异步有:ajax请求、定时器、图片加载、点击事件

promise

Promise对象是一个构造函数,用来生成Promise实例。它有三个状态,进行中,已成功,已失败,最大的缺点一创建无法取消,接受两个回调函数
Promise构造函数接受一个函数作为参数,该函数的两个参数分别为resolve和reject,它们是两个函数

Promise.prototype.then()接受两个回调函数,Promise.prototype.catch()用来捕获异常

java基础教程第3版源码

讯享网

统一捕获异常、多个接口请求支持链式执行「promise.all所有的请求都完成再往下执行,参数是一个装有一个或多个promise对象的数组。、promise.race只要有一个完成就往下执行」

指定执行循序,通过.then;第一个执行完return 第二个promise对象

 

async、await

现原理就是将Generator函数,ES6提供的一种异步编程解决方案,sync函数就是将Generator函数的星号(*)替换成async,将yield替换成await,然后内置了一个功能类似run的执行器。

是一个同步的写法,使用的时候注意 async加在函数的前面、await后面是一个promise的实例

讯享网

可以把 async 看成将函数返回值使用 Promise.resolve() 包裹了下。

await 只能在 async 函数中使用

 

上面代码会先打印 finish 然后再打印 object 。因为 await 会等待 sleep 函数 resolve ,所以即使后面是同步代码,也不会先去执行同步代码再来执行异步代码。


 

关于var、let、const

let和const是var的改良版,能用const就不用let, 能用let就不用var。

用var在函数内部声明,这个变量就属于当前的函数作用域,如果不用var关键字则声明的是一个全局变量。

 

 

let和const声明的变量时块级作用域,避免了无意中全局变量污染,更加的灵活安全。另一个好处就是在循环语句中,let关键字为每次循环绑定单独绑定一个变量。

 

let和const不可以重复定义变量,let和const定义的变量不属于不再是全局变量window的属性或方法

let声明的是变量,const声明的是常量,只读,修改值会报错,const保存的是内存地址,可以给对象或数组添加属性或元素,但是不能重新复写

 

一、数据类型

初始化未经声明的变量,总是会创建一个全局变量。

undefined:表示“未定义”或不存在,null:表示空值,即此处的值为空

其中 JS 的数字类型是浮点类型的,没有整型。并且浮点类型基于 IEEE 754标准实现,在使用中会遇到某些 Bug。NaN 也属于 number 类型,并且 NaN 不等于自身。

对象(Object)是引用类型,在使用过程中会遇到浅拷贝和深拷贝的问题。

关于赋值

基本数据类型赋值 互不影响 而引用类型赋值后指向的是同一个引用地址 所以修改一个其他的都会变

js内置函数

关于 NAN 即非数值,不是(not)一个(a)数字(number)。

 
 

parseInt()、parseFloat()

如果字符串头部有空格,空格会被自动去除。

 

如果parseInt的参数不是字符串,则会先转为字符串再转换。

 

字符串转为整数的时候,是一个个字符依次转换,如果遇到不能转为数字的字符,就不再进行下去,返回已经转好的部分。

 

如果字符串的第一个字符不能转化为数字(后面跟着数字的正负号除外),返回NaN。
如果参数不是字符串,或者字符串的第一个字符不能转化为浮点数,则返回NaN。

 
 

string 字符串

由于 HTML 语言的属性值使用双引号,所以很多项目约定 JavaScript 语言的字符串只使用单引号

一、布尔,数字,字符串

截取给定位置的那个字符 charAt 只接受一个参数

 

字符串的拼接 concat 或者 + 加号操作符

 

字符串的截取 slice()、substr()、substring()。接收两个参数,并且第二个参数都是可选参数

str.substring 遇到负数不计算,交换下标位置

substring()从提取的字符indexStart可达但不包括 indexEnd
如果indexStart 等于indexEnd,substring()返回一个空字符串。
如果indexEnd省略,则将substring()字符提取到字符串的末尾。
如果任一参数小于0或是NaN,它被视为为0。
如果任何一个参数都大于stringName.length,则被视为是stringName.length。
如果indexStart大于indexEnd,那么效果substring()就好像这两个论点被交换了一样; 例如,str.substring(1, 0) == str.substring(0, 1)


str.substr <不推荐使用,即将废弃>

substr()会从start获取长度为length字符(如果截取到字符串的末尾,则会停止截取)。
如果start是正的并且大于或等于字符串的长度,则substr()返回一个空字符串。
若start为负数,则将该值加上字符串长度后再进行计算(如果加上字符串的长度后还是负数,则从0开始截取)。
如果length为0或为负数,substr()返回一个空字符串。如果length省略,则将substr()字符提取到字符串的末尾。


str.slice 遇到负数会计算

若beginIndex为负数,则将该值加上字符串长度后再进行计算(如果加上字符串的长度后还是负数,则从0开始截取)。
如果beginIndex大于或等于字符串的长度,则slice()返回一个空字符串。
如果endIndex省略,则将slice()字符提取到字符串的末尾。如果为负,它被视为strLength + endIndex其中strLength是字符串的长度。

如何确定一个值到底是什么类型
JavaScript 有三种方法

  1. typeof运算符
  2. instanceof运算符
  3. Object.prototype.toString方法

Typeof
typeof 对于基本类型,除了 null 都可以显示正确的类型

 

typeof 对于对象,除了函数都会显示 object

 

对于 null 来说,虽然它是基本类型,但是会显示 object

 

null的类型是object,这是由于历史原因造成的。1995年的 JavaScript 语言第一版,只设计了五种数据类型(对象、整数、浮点数、字符串和布尔值),没考虑null,只把它当作object的一种特殊值。后来null独立出来,作为一种单独的数据类型,为了兼容以前的代码,typeof null返回object就没法改变了。


转换数字的时候会莫名其妙的变为NAN

如果第一个字符不是数字或者负号使用parseInt就会返回NAN

 

字符串的查找 indexOf match

 

统计一个字符串出现最多的字母 「考察数组去重、数据整合」

 

字符串的替换 replace()

 

字符串转数组的方法 split()

 

二、URL编码方法

 

Math对象获取数组最大值最小值

三、 Math 对象

获取数组中最大值和最小值 避免过多的使用循环和在if语句中确定数值。

 

random()方法

值 = Math.floor ( Math.round() * 可能值的总数 + 第一个可能的值 )

 

运算

小讯
上一篇 2024-12-24 18:22
下一篇 2024-12-31 15:28

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/6473.html