js-apis-util.md 59.2 KB
Newer Older
Z
zengyawen 已提交
1 2
# util工具函数

Z
zengyawen 已提交
3

Z
zengyawen 已提交
4 5
> ![icon-note.gif](public_sys-resources/icon-note.gif) **说明:**
> 本模块首批接口从API version 7开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
Z
zengyawen 已提交
6

Z
zengyawen 已提交
7

Z
zengyawen 已提交
8 9 10
该模块主要提供常用的工具函数,实现字符串编解码(TextEncoder,TextDecoder)、有理数运算(RationalNumber)、缓冲区管理(LruBuffer)、范围判断(Scope)、Base64编解码(Base64)、内置对象类型检查(Types)等功能。


Z
zengyawen 已提交
11
## 导入模块
Z
zengyawen 已提交
12 13

```
Z
zengyawen 已提交
14
import util from '@ohos.util';
Z
zengyawen 已提交
15 16
```

Z
zengyawen 已提交
17 18
## util.printf

Z
zengyawen 已提交
19
printf(format: string,  ...args: Object[]): string
Z
zengyawen 已提交
20 21 22

通过式样化字符串对输入的内容按特定格式输出。

Z
zengyawen 已提交
23 24 25
**系统能力:** SystemCapability.Utils.Lang

**参数:**
26 27 28 29
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| format | string | 是 | 式样化字符串。 |
| ...args | Object[] | 否 | 待式样化数据。 |
Z
zengyawen 已提交
30

Z
zengyawen 已提交
31
**返回值:**
32 33 34
| 类型 | 说明 |
| -------- | -------- |
| string | 按特定格式式样化后的字符串。 |
Z
zengyawen 已提交
35

Z
zengyawen 已提交
36
**示例:**
37
  ```js
Z
zengyawen 已提交
38 39 40 41 42 43 44 45
  var res = util.printf("%s", "hello world!");
  console.log(res);
  ```


## util.getErrorString

getErrorString(errno: number): string
Z
zengyawen 已提交
46 47 48

获取系统错误码对应的详细信息。

Z
zengyawen 已提交
49 50 51
**系统能力:** SystemCapability.Utils.Lang

**参数:**
52 53 54
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| errno | number | 是 | 系统发生错误产生的错误码。 |
Z
zengyawen 已提交
55

Z
zengyawen 已提交
56
**返回值:**
57 58 59
| 类型 | 说明 |
| -------- | -------- |
| string | 错误码对应的详细信息。 |
Z
zengyawen 已提交
60

Z
zengyawen 已提交
61
**示例:**
62
  ```js
Z
zengyawen 已提交
63 64 65 66 67 68 69 70
  var errnum = 10; // 10:a system error number
  var result = util.getErrorString(errnum);
  console.log("result = " + result);
  ```


## util.callbackWrapper

Z
zengyawen 已提交
71
callbackWrapper(original: Function): (err: Object, value: Object )=>void
Z
zengyawen 已提交
72 73 74

对异步函数进行回调化处理,回调中第一个参数将是拒绝原因(如果 Promise 已解决,则为 null),第二个参数将是已解决的值。

Z
zengyawen 已提交
75 76 77 78
**系统能力:** SystemCapability.Utils.Lang

**参数:**

79 80 81
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| original | Function | 是 | 异步函数。 |
Z
zengyawen 已提交
82

Z
zengyawen 已提交
83
**返回值:**
84 85 86
| 类型 | 说明 |
| -------- | -------- |
| Function | 返回一个第一个参数是拒绝原因(如果 Promise 已解决,则为 null),第二个参数是已解决的回调函数。 |
Z
zengyawen 已提交
87

Z
zengyawen 已提交
88
**示例:**
89
  ```js
Z
zengyawen 已提交
90 91 92 93 94
  async function promiseFn() {
      return Promise.reject('value');
  }
  var cb = util.callbackWrapper(promiseFn);
  cb((err, ret) => {
Z
zengyawen 已提交
95 96
      console.log(err);
      console.log(ret);
Z
zengyawen 已提交
97 98 99 100 101 102 103
  })
  ```


## util.promiseWrapper

promiseWrapper(original: (err: Object, value: Object) => void): Object
Z
zengyawen 已提交
104 105 106

对异步函数处理并返回一个promise的版本。

Z
zengyawen 已提交
107 108 109
**系统能力:** SystemCapability.Utils.Lang

**参数:**
110 111 112
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| original | Function | 是 | 异步函数。 |
Z
zengyawen 已提交
113

Z
zengyawen 已提交
114
**返回值:**
115 116 117
| 类型 | 说明 |
| -------- | -------- |
| Function | 采用遵循常见的错误优先的回调风格的函数(也就是将 (err, value) => ... 回调作为最后一个参数),并返回一个返回 promise 的版本。 |
Z
zengyawen 已提交
118

Z
zengyawen 已提交
119
**示例:**
120
  ```js
Z
zengyawen 已提交
121
  function aysnFun(str1, str2, callback) {
122
      if (typeof str1 === 'string' && typeof str2 === 'string') {
Z
zengyawen 已提交
123 124 125 126 127 128 129
          callback(null, str1 + str2);
      } else {
          callback('type err');
      }
  }
  let newPromiseObj = util.promiseWrapper(aysnFun)("Hello", 'World');
  newPromiseObj.then(res => {
Z
zengyawen 已提交
130
      console.log(res);
Z
zengyawen 已提交
131 132 133 134 135 136 137 138
  })
  ```


## TextDecoder

### 属性

Z
zengyawen 已提交
139 140
**系统能力:** 以下各项对应的系统能力均为SystemCapability.Utils.Lang。

Z
zengyawen 已提交
141 142 143 144
| 名称 | 参数类型 | 可读 | 可写 | 说明 |
| -------- | -------- | -------- | -------- | -------- |
| encoding | string | 是 | 否 | 编码格式。<br/>-&nbsp;支持格式:utf-8、ibm866、iso-8859-2、iso-8859-3、iso-8859-4、iso-8859-5、iso-8859-6、iso-8859-7、iso-8859-8、iso-8859-8-i、iso-8859-10、iso-8859-13、iso-8859-14、iso-8859-15、koi8-r、koi8-u、macintosh、windows-874、windows-1250、windows-1251、windows-1252、windows-1253、windows-1254、windows-1255、windows-1256、windows-1257、windows-1258、x-mac-cyrilli、gbk、gb18030、big5、euc-jp、iso-2022-jp、shift_jis、euc-kr、utf-16be、utf-16le。 |
| fatal | boolean | 是 | 否 | 是否显示致命错误。 |
Z
zengyawen 已提交
145
| ignoreBOM | boolean | 是 | 否 | 是否忽略BOM(byte&nbsp;order&nbsp;marker)标记,默认值为false&nbsp;,表示解码结果包含BOM标记。 |
Z
zengyawen 已提交
146 147 148 149


### constructor

S
shikai-123 已提交
150
constructor(encoding?: string, options?: { fatal?: boolean; ignoreBOM?: boolean },)
Z
zengyawen 已提交
151 152 153

TextDecoder的构造函数。

Z
zengyawen 已提交
154 155 156
**系统能力:** SystemCapability.Utils.Lang

**参数:**
157 158 159 160
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| encoding | string | 否 | 编码格式。 |
| options | Object | 否 | 编码相关选项参数,存在两个属性fatal和ignoreBOM。 |
Z
zengyawen 已提交
161 162

  **表1** options
Z
zengyawen 已提交
163

164 165 166 167
| 名称 | 参数类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| fatal | boolean | 否 | 是否显示致命错误。 |
| ignoreBOM | boolean | 否 | 是否忽略BOM标记。 |
Z
zengyawen 已提交
168

Z
zengyawen 已提交
169
**示例:**
170
  ```js
X
xdmal 已提交
171
  var textDecoder = new util.TextDecoder("utf-8",{ignoreBOM: true});
Z
zengyawen 已提交
172 173 174 175 176
  ```


### decode

S
shikai-123 已提交
177
decode(input: Uint8Array, options?: { stream?: false }): string
Z
zengyawen 已提交
178 179 180

通过输入参数解码后输出对应文本。

Z
zengyawen 已提交
181 182 183
**系统能力:** SystemCapability.Utils.Lang

**参数:**
184 185 186 187
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| input | Unit8Array | 是 | 符合格式需要解码的数组。 |
| options | Object | 否 | 解码相关选项参数。 |
Z
zengyawen 已提交
188

Z
zengyawen 已提交
189
  **表2** options
Z
zengyawen 已提交
190

191 192 193
| 名称 | 参数类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| stream | boolean | 否 | 在随后的decode()调用中是否跟随附加数据块。如果以块的形式处理数据,则设置为true;如果处理最后的数据块或数据未分块,则设置为false。默认为false。 |
Z
zengyawen 已提交
194

Z
zengyawen 已提交
195
**返回值:**
196 197 198
| 类型 | 说明 |
| -------- | -------- |
| string | 解码后的数据。 |
Z
zengyawen 已提交
199

Z
zengyawen 已提交
200
**示例:**
201
  ```js
X
xdmal 已提交
202
  var textDecoder = new util.TextDecoder("utf-8",{ignoreBOM: true});
Z
zengyawen 已提交
203 204 205 206 207 208 209 210
  var result = new Uint8Array(6);
  result[0] = 0xEF;
  result[1] = 0xBB;
  result[2] = 0xBF;
  result[3] = 0x61;
  result[4] = 0x62;
  result[5] = 0x63;
  console.log("input num:");
X
xdmal 已提交
211
  var retStr = textDecoder.decode( result , {stream: false});
Z
zengyawen 已提交
212 213 214 215 216
  console.log("retStr = " + retStr);
  ```


## TextEncoder
Z
zengyawen 已提交
217

Z
zengyawen 已提交
218
### 属性
Z
zengyawen 已提交
219

Z
zengyawen 已提交
220 221
**系统能力:** 以下各项对应的系统能力均为SystemCapability.Utils.Lang。

Z
zengyawen 已提交
222 223 224
| 名称 | 参数类型 | 可读 | 可写 | 说明 |
| -------- | -------- | -------- | -------- | -------- |
| encoding | string | 是 | 否 | 编码格式,默认值是utf-8。 |
Z
zengyawen 已提交
225 226


Z
zengyawen 已提交
227 228 229 230 231 232
### constructor

constructor()

TextEncoder的构造函数。

Z
zengyawen 已提交
233 234 235
**系统能力:** SystemCapability.Utils.Lang

**示例:**
236
  ```js
Z
zengyawen 已提交
237 238 239 240 241 242
  var textEncoder = new util.TextEncoder();
  ```


### encode

X
xdmal 已提交
243
encode(input?: string): Uint8Array
Z
zengyawen 已提交
244 245 246

通过输入参数编码后输出对应文本。

Z
zengyawen 已提交
247 248 249
**系统能力:** SystemCapability.Utils.Lang

**参数:**
250 251 252
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| input | string | 是 | 需要编码的字符串。 |
Z
zengyawen 已提交
253

Z
zengyawen 已提交
254
**返回值:**
255 256 257
| 类型 | 说明 |
| -------- | -------- |
| Uint8Array | 返回编码后的文本。 |
Z
zengyawen 已提交
258

Z
zengyawen 已提交
259
**示例:**
260
  ```js
Z
zengyawen 已提交
261
  var textEncoder = new util.TextEncoder();
262
  var buffer = new ArrayBuffer(20);
Z
zengyawen 已提交
263 264 265
  var result = new Uint8Array(buffer);
  result = textEncoder.encode("\uD800¥¥");
  ```
Z
zengyawen 已提交
266 267


Z
zengyawen 已提交
268 269
### encodeInto

X
xdmal 已提交
270
encodeInto(input: string, dest: Uint8Array, ): { read: number; written: number }
Z
zengyawen 已提交
271 272

放置生成的UTF-8编码文本。
Z
zengyawen 已提交
273

Z
zengyawen 已提交
274 275 276
**系统能力:** SystemCapability.Utils.Lang

**参数:**
277 278 279 280
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| input | string | 是 | 需要编码的字符串。 |
| dest | Uint8Array | 是 | Uint8Array对象实例,用于将生成的UTF-8编码文本放入其中。 |
Z
zengyawen 已提交
281

Z
zengyawen 已提交
282
**返回值:**
283 284 285
| 类型 | 说明 |
| -------- | -------- |
| Uint8Array | 返回编码后的文本。 |
Z
zengyawen 已提交
286

Z
zengyawen 已提交
287
**示例:**
288
  ```js
Z
zengyawen 已提交
289 290 291 292 293
  var that = new util.TextEncoder();
  var buffer = new ArrayBuffer(4);
  this.dest = new Uint8Array(buffer);
  var result = that.encodeInto("abcd", this.dest);
  ```
Z
zengyawen 已提交
294 295 296 297 298 299

## RationalNumber<sup>8+</sup>


### constructor<sup>8+</sup>

X
xdmal 已提交
300
constructor(numerator: number,denominator: number)
Z
zengyawen 已提交
301 302 303

RationalNumber的构造函数。

Z
zengyawen 已提交
304 305 306
**系统能力:** SystemCapability.Utils.Lang

**参数:**
307 308 309 310
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| numerator | number | 是 | 分子,整数类型。 |
| denominator | number | 是 | 分母,整数类型。 |
Z
zengyawen 已提交
311

Z
zengyawen 已提交
312
**示例:**
313
  ```js
Z
zengyawen 已提交
314
  var rationalNumber = new util.RationalNumber(1,2);
Z
zengyawen 已提交
315 316 317 318 319
  ```


### createRationalFromString<sup>8+</sup>

X
xdmal 已提交
320
static createRationalFromString​(rationalString: string): RationalNumber​
Z
zengyawen 已提交
321 322 323

基于给定的字符串创建一个RationalNumber对象。

Z
zengyawen 已提交
324 325 326
**系统能力:** SystemCapability.Utils.Lang

**参数:**
327 328 329
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| rationalString | string | 是 | 字符串格式。 |
Z
zengyawen 已提交
330

Z
zengyawen 已提交
331
**返回值:**
332 333 334
| 类型 | 说明 |
| -------- | -------- |
| object | 返回有理数类的对象。 |
Z
zengyawen 已提交
335

Z
zengyawen 已提交
336
**示例:**
337
  ```js
Z
zengyawen 已提交
338 339 340 341 342 343 344
  var rationalNumber = new util.RationalNumber(1,2);
  var rational = rationalNumer.creatRationalFromString("3/4");
  ```


### compareTo<sup>8+</sup>

X
xdmal 已提交
345
compareTo​(another: RationalNumber): number​
Z
zengyawen 已提交
346 347 348

将当前的RationalNumber对象与给定的对象进行比较。

Z
zengyawen 已提交
349 350 351
**系统能力:** SystemCapability.Utils.Lang

**参数:**
352 353 354
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| another | RationalNumber | 是 | 其他的有理数对象。 |
Z
zengyawen 已提交
355

Z
zengyawen 已提交
356
**返回值:**
357 358 359
| 类型 | 说明 |
| -------- | -------- |
| number | 如果两个对象相等,则返回0;如果给定对象小于当前对象,则返回1;如果给定对象大于当前对象,则返回-1。 |
Z
zengyawen 已提交
360

Z
zengyawen 已提交
361
**示例:**
362
  ```js
Z
zengyawen 已提交
363 364 365 366 367 368 369 370
  var rationalNumber = new util.RationalNumber(1,2);
  var rational = rationalNumer.creatRationalFromString("3/4");
  var result = rationalNumber.compareTo(rational);
  ```


### valueOf<sup>8+</sup>

X
xdmal 已提交
371
valueOf(): number
Z
zengyawen 已提交
372 373 374

以整数形式或者浮点数的形式获取当前RationalNumber对象的值。

Z
zengyawen 已提交
375 376 377
**系统能力:** SystemCapability.Utils.Lang

**返回值:**
378 379 380
| 类型 | 说明 |
| -------- | -------- |
| number | 返回整数或者浮点数的值。 |
Z
zengyawen 已提交
381

Z
zengyawen 已提交
382
**示例:**
383
  ```js
Z
zengyawen 已提交
384 385 386 387 388 389 390
  var rationalNumber = new util.RationalNumber(1,2);
  var result = rationalNumber.valueOf();
  ```


### equals<sup>8+</sup>

X
xdmal 已提交
391
equals​(obj: Object): boolean
Z
zengyawen 已提交
392 393 394

将当前的RationalNumber对象与给定的对象进行比较是否相等。

Z
zengyawen 已提交
395 396 397
**系统能力:** SystemCapability.Utils.Lang

**参数:**
398 399 400
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| object | Object | 是 | 其他类型对象。 |
Z
zengyawen 已提交
401

Z
zengyawen 已提交
402
**返回值:**
403 404 405
| 类型 | 说明 |
| -------- | -------- |
| boolean | 如果给定对象与当前对象相同,则返回true;否则返回false。 |
Z
zengyawen 已提交
406

Z
zengyawen 已提交
407
**示例:**
408
  ```js
Z
zengyawen 已提交
409 410 411 412 413 414 415 416
  var rationalNumber = new util.RationalNumber(1,2);
  var rational = rationalNumer.creatRationalFromString("3/4");
  var result = rationalNumber.equals(rational);
  ```


### getCommonDivisor<sup>8+</sup>

X
xdmal 已提交
417
static getCommonDivisor​(number1: number,number2: number): number
Z
zengyawen 已提交
418 419 420

获取两个指定整数的最大公约数。

Z
zengyawen 已提交
421 422 423
**系统能力:** SystemCapability.Utils.Lang

**参数:**
424 425 426 427
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| number1 | number | 是 | 整数类型。 |
| number2 | number | 是 | 整数类型。 |
Z
zengyawen 已提交
428

Z
zengyawen 已提交
429
**返回值:**
430 431 432
| 类型 | 说明 |
| -------- | -------- |
| number | 返回两个给定数字的最大公约数。 |
Z
zengyawen 已提交
433

Z
zengyawen 已提交
434
**示例:**
435
  ```js
Z
zengyawen 已提交
436 437 438 439 440 441 442
  var rationalNumber = new util.RationalNumber(1,2);
  var result = rationalNumber.getCommonDivisor(4,6);
  ```


### getNumerator<sup>8+</sup>

X
xdmal 已提交
443
getNumerator​(): number
Z
zengyawen 已提交
444 445 446

获取当前RationalNumber对象的分子。

Z
zengyawen 已提交
447 448 449 450
**系统能力:** SystemCapability.Utils.Lang

**返回值:**

451 452 453
| 类型 | 说明 |
| -------- | -------- |
| number | 返回RationalNumber对象的分子的值。 |
Z
zengyawen 已提交
454

Z
zengyawen 已提交
455
**示例:**
456
  ```js
Z
zengyawen 已提交
457 458 459 460 461 462 463
  var rationalNumber = new util.RationalNumber(1,2);
  var result = rationalNumber.getNumerator();
  ```


### getDenominator<sup>8+</sup>

X
xdmal 已提交
464
getDenominator​(): number
Z
zengyawen 已提交
465 466 467

获取当前RationalNumber对象的分母。

Z
zengyawen 已提交
468 469 470
**系统能力:** SystemCapability.Utils.Lang

**返回值:**
471 472 473
| 类型 | 说明 |
| -------- | -------- |
| number | 返回RationalNumber对象的分母的值。 |
Z
zengyawen 已提交
474

Z
zengyawen 已提交
475
**示例:**
476
  ```js
Z
zengyawen 已提交
477 478 479 480 481 482 483 484 485 486 487
  var rationalNumber = new util.RationalNumber(1,2);
  var result = rationalNumber.getDenominator();
  ```


### isZero<sup>8+</sup>

isZero​():boolean

检查当前RationalNumber对象是否为0。

Z
zengyawen 已提交
488 489 490
**系统能力:** SystemCapability.Utils.Lang

**返回值:**
491 492 493
| 类型 | 说明 |
| -------- | -------- |
| boolean | 如果当前对象表示的值为0,则返回true;否则返回false。 |
Z
zengyawen 已提交
494

Z
zengyawen 已提交
495
**示例:**
496
  ```js
Z
zengyawen 已提交
497 498 499 500 501 502 503
  var rationalNumber = new util.RationalNumber(1,2);
  var result = rationalNumber.isZero();
  ```


### isNaN<sup>8+</sup>

X
xdmal 已提交
504
isNaN​(): boolean
Z
zengyawen 已提交
505 506 507

检查当前RationalNumber对象是否表示非数字(NaN)值。

Z
zengyawen 已提交
508 509 510
**系统能力:** SystemCapability.Utils.Lang

**返回值:**
511 512 513
| 类型 | 说明 |
| -------- | -------- |
| boolean | 如果分母和分子都为0,则返回true;否则返回false。 |
Z
zengyawen 已提交
514

Z
zengyawen 已提交
515
**示例:**
516
  ```js
Z
zengyawen 已提交
517 518 519 520 521 522 523 524 525 526 527
  var rationalNumber = new util.RationalNumber(1,2);
  var result = rationalNumber.isNaN();
  ```


### isFinite<sup>8+</sup>

isFinite​():boolean

检查当前RationalNumber对象是否表示一个有限值。

Z
zengyawen 已提交
528 529 530
**系统能力:** SystemCapability.Utils.Lang

**返回值:**
531 532 533
| 类型 | 说明 |
| -------- | -------- |
| boolean | 如果分母不为0,则返回true;否则返回false。 |
Z
zengyawen 已提交
534

Z
zengyawen 已提交
535
**示例:**
536
  ```js
Z
zengyawen 已提交
537 538 539 540 541 542 543
  var rationalNumber = new util.RationalNumber(1,2);
  var result = rationalNumber.isFinite();
  ```


### toString<sup>8+</sup>

X
xdmal 已提交
544
toString​(): string
Z
zengyawen 已提交
545 546 547

获取当前RationalNumber对象的字符串表示形式。

Z
zengyawen 已提交
548 549 550
**系统能力:** SystemCapability.Utils.Lang

**返回值:**
551 552 553
| 类型 | 说明 |
| -------- | -------- |
| string | 返回Numerator/Denominator格式的字符串,例如3/5,如果当前对象的分子和分母都为0,则返回NaN。 |
Z
zengyawen 已提交
554

Z
zengyawen 已提交
555
**示例:**
556
  ```js
Z
zengyawen 已提交
557 558 559 560 561 562 563 564
  var rationalNumber = new util.RationalNumber(1,2);
  var result = rationalNumber.toString();
  ```

## LruBuffer<sup>8+</sup>

### 属性

Z
zengyawen 已提交
565 566
**系统能力:** 以下各项对应的系统能力均为SystemCapability.Utils.Lang。

Z
zengyawen 已提交
567 568 569 570
| 名称 | 类型 | 可读 | 可写 | 说明 |
| -------- | -------- | -------- | -------- | -------- |
| length | number | 是 | 否 | 当前缓冲区中值的总数。 |

Z
zengyawen 已提交
571
**示例:**
572
  ```js
Z
zengyawen 已提交
573 574 575 576 577 578 579 580 581
  var pro = new util.LruBuffer();
  pro.put(2,10);
  pro.put(1,8);
  var result = pro.length;
  ```


### constructor<sup>8+</sup>

X
xdmal 已提交
582
constructor(capacity?: number)
Z
zengyawen 已提交
583 584 585

默认构造函数用于创建一个新的LruBuffer实例,默认容量为64。

Z
zengyawen 已提交
586 587 588
**系统能力:** SystemCapability.Utils.Lang

**参数:**
589 590 591
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| capacity | number | 否 | 指示要为缓冲区自定义的容量。 |
Z
zengyawen 已提交
592

Z
zengyawen 已提交
593
**示例:**
594
  ```js
Z
zengyawen 已提交
595
  var lrubuffer= new util.LruBuffer();
Z
zengyawen 已提交
596 597 598 599 600
  ```


### updateCapacity<sup>8+</sup>

X
xdmal 已提交
601
updateCapacity(newCapacity: number): void
Z
zengyawen 已提交
602 603 604

将缓冲区容量更新为指定容量,如果newCapacity小于或等于0,则抛出异常。

Z
zengyawen 已提交
605 606 607
**系统能力:** SystemCapability.Utils.Lang

**参数:**
608 609 610
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| newCapacity | number | 是 | 指示要为缓冲区自定义的容量。 |
Z
zengyawen 已提交
611

Z
zengyawen 已提交
612
**示例:**
613
  ```js
Z
zengyawen 已提交
614 615 616 617 618 619 620
  var pro = new util.LruBuffer();
  var result = pro.updateCapacity(100);
  ```


### toString<sup>8+</sup>

X
xdmal 已提交
621
toString(): string
Z
zengyawen 已提交
622 623 624

返回对象的字符串表示形式。

Z
zengyawen 已提交
625 626 627
**系统能力:** SystemCapability.Utils.Lang

**返回值:**
628 629 630
| 类型 | 说明 |
| -------- | -------- |
| string | 返回对象的字符串表示形式。 |
Z
zengyawen 已提交
631

Z
zengyawen 已提交
632
**示例:**
633
  ```js
Z
zengyawen 已提交
634 635 636 637 638 639 640 641 642 643
  var pro = new util.LruBuffer();
  pro.put(2,10);
  pro.get(2);
  pro.remove(20);
  var result = pro.toString();
  ```


### getCapacity<sup>8+</sup>

X
xdmal 已提交
644
getCapacity(): number
Z
zengyawen 已提交
645 646 647

获取当前缓冲区的容量。

Z
zengyawen 已提交
648 649 650
**系统能力:** SystemCapability.Utils.Lang

**返回值:**
651 652 653
| 类型 | 说明 |
| -------- | -------- |
| number | 返回当前缓冲区的容量。 |
Z
zengyawen 已提交
654

Z
zengyawen 已提交
655
**示例:**
656
  ```js
Z
zengyawen 已提交
657 658 659 660 661 662 663
  var pro = new util.LruBuffer();
  var result = pro.getCapacity();
  ```


### clear<sup>8+</sup>

X
xdmal 已提交
664
clear(): void
Z
zengyawen 已提交
665 666 667

从当前缓冲区清除键值对。后续会调用afterRemoval()方法执行后续操作。

Z
zengyawen 已提交
668 669 670
**系统能力:** SystemCapability.Utils.Lang

**示例:**
671
  ```js
Z
zengyawen 已提交
672 673 674 675 676 677 678 679 680
  var pro = new util.LruBuffer();
  pro.put(2,10);
  var result = pro.size();
  pro.clear();
  ```


### getCreateCount<sup>8+</sup>

X
xdmal 已提交
681
getCreateCount(): number
Z
zengyawen 已提交
682 683 684

获取createDefault()返回值的次数。

Z
zengyawen 已提交
685 686 687
**系统能力:** SystemCapability.Utils.Lang

**返回值:**
688 689 690
| 类型 | 说明 |
| -------- | -------- |
| number | 返回createDefault()返回值的次数。 |
Z
zengyawen 已提交
691

Z
zengyawen 已提交
692
**示例:**
693
  ```js
Z
zengyawen 已提交
694 695 696 697 698 699 700 701
  var pro = new util.LruBuffer();
  pro.put(1,8);
  var result = pro.getCreateCount();
  ```


### getMissCount<sup>8+</sup>

X
xdmal 已提交
702
getMissCount(): number
Z
zengyawen 已提交
703 704 705

获取查询值不匹配的次数。

Z
zengyawen 已提交
706 707 708
**系统能力:** SystemCapability.Utils.Lang

**返回值:**
709 710 711
| 类型 | 说明 |
| -------- | -------- |
| number | 返回查询值不匹配的次数。 |
Z
zengyawen 已提交
712

Z
zengyawen 已提交
713
**示例:**
714
  ```js
Z
zengyawen 已提交
715 716
  var pro = new util.LruBuffer();
  pro.put(2,10);
Z
zengyawen 已提交
717
  pro.get(2);
Z
zengyawen 已提交
718 719 720 721 722 723
  var result = pro.getMissCount();
  ```


### getRemovalCount<sup>8+</sup>

X
xdmal 已提交
724
getRemovalCount(): number
Z
zengyawen 已提交
725 726 727

获取从缓冲区中逐出值的次数。

Z
zengyawen 已提交
728 729 730
**系统能力:** SystemCapability.Utils.Lang

**返回值:**
731 732 733
| 类型 | 说明 |
| -------- | -------- |
| number | 返回从缓冲区中驱逐的次数。 |
Z
zengyawen 已提交
734

Z
zengyawen 已提交
735
**示例:**
736
  ```js
Z
zengyawen 已提交
737 738 739 740 741 742 743 744 745 746
  var pro = new util.LruBuffer();
  pro.put(2,10);
  pro.updateCapacity(2);
  pro.put(50,22);
  var result = pro.getRemovalCount();
  ```


### getMatchCount<sup>8+</sup>

X
xdmal 已提交
747
getMatchCount(): number
Z
zengyawen 已提交
748 749 750

获取查询值匹配成功的次数。

Z
zengyawen 已提交
751 752 753
**系统能力:** SystemCapability.Utils.Lang

**返回值:**
754 755 756
| 类型 | 说明 |
| -------- | -------- |
| number | 返回查询值匹配成功的次数。 |
Z
zengyawen 已提交
757

Z
zengyawen 已提交
758
**示例:**
759
  ```js
Z
zengyawen 已提交
760 761 762 763 764 765 766 767 768
  var pro = new util.LruBuffer();
  pro.put(2,10);
  pro.get(2);
  var result = pro.getMatchCount();
  ```


### getPutCount<sup>8+</sup>

X
xdmal 已提交
769
getPutCount(): number
Z
zengyawen 已提交
770 771 772

获取将值添加到缓冲区的次数。

Z
zengyawen 已提交
773 774 775
**系统能力:** SystemCapability.Utils.Lang

**返回值:**
776 777 778
| 类型 | 说明 |
| -------- | -------- |
| number | 返回将值添加到缓冲区的次数。 |
Z
zengyawen 已提交
779

Z
zengyawen 已提交
780
**示例:**
781
  ```js
Z
zengyawen 已提交
782 783 784 785 786 787 788 789
  var pro = new util.LruBuffer();
  pro.put(2,10);
  var result = pro.getPutCount();
  ```


### isEmpty<sup>8+</sup>

X
xdmal 已提交
790
isEmpty(): boolean
Z
zengyawen 已提交
791 792 793

检查当前缓冲区是否为空。

Z
zengyawen 已提交
794 795 796
**系统能力:** SystemCapability.Utils.Lang

**返回值:**
797 798 799
| 类型 | 说明 |
| -------- | -------- |
| boolean | 如果当前缓冲区不包含任何值,则返回true。 |
Z
zengyawen 已提交
800

Z
zengyawen 已提交
801
**示例:**
802
  ```js
Z
zengyawen 已提交
803 804 805 806 807 808 809 810
  var pro = new util.LruBuffer();
  pro.put(2,10);
  var result = pro.isEmpty();
  ```


### get<sup>8+</sup>

X
xdmal 已提交
811
get(key: K): V | undefined
Z
zengyawen 已提交
812 813 814

表示要查询的键。

Z
zengyawen 已提交
815 816 817
**系统能力:** SystemCapability.Utils.Lang

**参数:**
818 819 820
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| key | K | 是 | 要查询的键。 |
Z
zengyawen 已提交
821

Z
zengyawen 已提交
822
**返回值:**
823 824 825
| 类型 | 说明 |
| -------- | -------- |
| V&nbsp;\|&nbsp;undefind | 如果指定的键存在于缓冲区中,则返回与键关联的值;否则返回undefined。 |
Z
zengyawen 已提交
826

Z
zengyawen 已提交
827
**示例:**
828
  ```js
Z
zengyawen 已提交
829 830 831 832 833 834 835 836
  var pro = new util.LruBuffer();
  pro.put(2,10);
  var result  = pro.get(2);
  ```


### put<sup>8+</sup>

X
xdmal 已提交
837
put(key: K,value: V): V
Z
zengyawen 已提交
838 839 840

将键值对添加到缓冲区。

Z
zengyawen 已提交
841 842 843
**系统能力:** SystemCapability.Utils.Lang

**参数:**
844 845 846 847
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| key | K | 是 | 要添加的密钥。 |
| value | V | 是 | 指示与要添加的键关联的值。 |
Z
zengyawen 已提交
848

Z
zengyawen 已提交
849
**返回值:**
850 851 852
| 类型 | 说明 |
| -------- | -------- |
| V | 返回与添加的键关联的值;如果要添加的键已经存在,则返回原始值,如果键或值为空,则抛出此异常。 |
Z
zengyawen 已提交
853

Z
zengyawen 已提交
854
**示例:**
855
  ```js
Z
zengyawen 已提交
856 857 858 859 860 861 862
  var pro = new util.LruBuffer();
  var result = pro.put(2,10);
  ```


### values<sup>8+</sup>

X
xdmal 已提交
863
values(): V[]
Z
zengyawen 已提交
864 865 866

获取当前缓冲区中所有值从最近访问到最近最少访问的顺序列表 。

Z
zengyawen 已提交
867 868 869
**系统能力:** SystemCapability.Utils.Lang

**返回值:**
870 871 872
| 类型 | 说明 |
| -------- | -------- |
| V&nbsp;[] | 按从最近访问到最近最少访问的顺序返回当前缓冲区中所有值的列表。 |
Z
zengyawen 已提交
873

Z
zengyawen 已提交
874
**示例:**
875
  ```js
Z
zengyawen 已提交
876 877 878 879 880 881 882 883 884 885
  var pro = new util.LruBuffer();
  pro.put(2,10);
  pro.put(2,"anhu");
  pro.put("afaf","grfb");
  var result = pro.values();
  ```


### keys<sup>8+</sup>

X
xdmal 已提交
886
keys(): K[]
Z
zengyawen 已提交
887 888 889

获取当前缓冲区中所有键从最近访问到最近最少访问的升序列表。

Z
zengyawen 已提交
890 891 892
**系统能力:** SystemCapability.Utils.Lang

**返回值:**
893 894 895
| 类型 | 说明 |
| -------- | -------- |
| K&nbsp;[] | 按升序返回当前缓冲区中所有键的列表,从最近访问到最近最少访问。 |
Z
zengyawen 已提交
896

Z
zengyawen 已提交
897
**示例:**
898
  ```js
Z
zengyawen 已提交
899 900 901 902 903 904 905 906
  var pro = new util.LruBuffer();
  pro.put(2,10);
  var result = pro.keys();
  ```


### remove<sup>8+</sup>

X
xdmal 已提交
907
remove(key: K): V | undefined
Z
zengyawen 已提交
908 909 910

从当前缓冲区中删除指定的键及其关联的值。

Z
zengyawen 已提交
911 912 913
**系统能力:** SystemCapability.Utils.Lang

**参数:**
914 915 916
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| key | K | 是 | 要删除的密钥。 |
Z
zengyawen 已提交
917

Z
zengyawen 已提交
918
**返回值:**
919 920 921
| 类型 | 说明 |
| -------- | -------- |
| V&nbsp;\|&nbsp;undefind | 返回一个包含已删除键值对的Optional对象;如果key不存在,则返回一个空的Optional对象,如果key为null,则抛出异常。 |
Z
zengyawen 已提交
922

Z
zengyawen 已提交
923
**示例:**
924
  ```js
Z
zengyawen 已提交
925 926 927 928 929 930 931 932
  var pro = new util.LruBuffer();
  pro.put(2,10);
  var result = pro.remove(20);
  ```


### afterRemoval<sup>8+</sup>

X
xdmal 已提交
933
afterRemoval(isEvict: boolean,key: K,value: V,newValue: V): void
Z
zengyawen 已提交
934 935 936

删除值后执行后续操作。

Z
zengyawen 已提交
937 938 939
**系统能力:** SystemCapability.Utils.Lang

**参数:**
940 941 942 943 944 945
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| isEvict | boolean | 否 | 因容量不足而调用该方法时,参数值为true,其他情况为false。 |
| key | K | 是 | 表示删除的键。 |
| value | V | 是 | 表示删除的值。 |
| newValue | V | 否 | 如果已调用put方法并且要添加的键已经存在,则参数值是关联的新值。其他情况下参数值为空。 |
Z
zengyawen 已提交
946

Z
zengyawen 已提交
947
**示例:**
948
  ```js
Z
zengyawen 已提交
949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971
  var arr = [];
  class ChildLruBuffer extends util.LruBuffer
  {
  	constructor()
  	{
  		super();
  	}
  	static getInstance()
  	{
  		if(this.instance ==  null)
  		{
  			this.instance = new ChildLruBuffer();
  		}
  		return this.instance;  
  	}
  	afterRemoval(isEvict, key, value, newValue)
  	{
  		if (isEvict === false)
  		{
  			arr = [key, value, newValue];
  		}
  	}
  }
Z
zengyawen 已提交
972
  ChildLruBuffer.getInstance().afterRemoval(false,10,30,null);
Z
zengyawen 已提交
973 974 975 976 977
  ```


### contains<sup>8+</sup>

X
xdmal 已提交
978
contains(key: K): boolean
Z
zengyawen 已提交
979 980 981

检查当前缓冲区是否包含指定的键。

Z
zengyawen 已提交
982 983 984
**系统能力:** SystemCapability.Utils.Lang

**参数:**
985 986 987
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| key | K | 是 | 表示要检查的键。 |
Z
zengyawen 已提交
988

Z
zengyawen 已提交
989
**返回值:**
990 991 992
| 类型 | 说明 |
| -------- | -------- |
| boolean | 如果缓冲区包含指定的键,则返回&nbsp;true。 |
Z
zengyawen 已提交
993

Z
zengyawen 已提交
994
**示例:**
995
  ```js
Z
zengyawen 已提交
996 997 998 999 1000 1001 1002 1003
  var pro = new util.LruBuffer();
  pro.put(2,10);
  var result = pro.contains(20);
  ```


### createDefault<sup>8+</sup>

X
xdmal 已提交
1004
createDefault(key: K): V
Z
zengyawen 已提交
1005 1006 1007

如果未计算特定键的值,则执行后续操作,参数表示丢失的键,返回与键关联的值。

Z
zengyawen 已提交
1008 1009 1010
**系统能力:** SystemCapability.Utils.Lang

**参数:**
1011 1012 1013
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| key | K | 是 | 表示丢失的键。 |
Z
zengyawen 已提交
1014

Z
zengyawen 已提交
1015
**返回值:**
1016 1017 1018
| 类型 | 说明 |
| -------- | -------- |
| V | 返回与键关联的值。 |
Z
zengyawen 已提交
1019

Z
zengyawen 已提交
1020
**示例:**
1021
  ```js
Z
zengyawen 已提交
1022 1023 1024 1025 1026 1027 1028
  var pro = new util.LruBuffer();
  var result = pro.createDefault(50);
  ```


### entries<sup>8+</sup>

X
xdmal 已提交
1029
entries(): IterableIterator&lt;[K,V]&gt;
Z
zengyawen 已提交
1030 1031 1032

允许迭代包含在这个对象中的所有键值对。

Z
zengyawen 已提交
1033 1034 1035
**系统能力:** SystemCapability.Utils.Lang

**返回值:**
1036 1037 1038
| 类型 | 说明 |
| -------- | -------- |
| [K,&nbsp;V] | 返回一个可迭代数组。 |
Z
zengyawen 已提交
1039

Z
zengyawen 已提交
1040
**示例:**
1041
  ```js
Z
zengyawen 已提交
1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053
  var pro = new util.LruBuffer();
  pro.put(2,10);
  var result = pro.entries();
  ```


### [Symbol.iterator]<sup>8+</sup>

[Symbol.iterator]\(): IterableIterator&lt;[K, V]&gt;

返回一个键值对形式的二维数组。

Z
zengyawen 已提交
1054 1055 1056
**系统能力:** SystemCapability.Utils.Lang

**返回值:**
1057 1058 1059
| 类型 | 说明 |
| -------- | -------- |
| [K,&nbsp;V] | 返回一个键值对形式的二维数组。 |
Z
zengyawen 已提交
1060

Z
zengyawen 已提交
1061
**示例:**
1062
  ```js
Z
zengyawen 已提交
1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076
  var pro = new util.LruBuffer();
  pro.put(2,10);
  var result = pro[symbol.iterator]();
  ```


## Scope<sup>8+</sup>


### ScopeType<sup>8+</sup>

用于表示范围中的值的类型。该类型的值,类型可以为ScopeComparable或number。

ScopeComparable类型的值需要实现compareTo方法,确保传入的数据具有可比性。
1077
```js
Z
zengyawen 已提交
1078
interface ScopeComparable{
X
xdmal 已提交
1079
    compareTo(other: ScopeComparable): boolean;
Z
zengyawen 已提交
1080 1081 1082 1083 1084 1085 1086 1087 1088
}
type ScopeType = ScopeComparable | number;
```


构造新类,实现compareTo方法。后续示例代码中,均通过Temperature,获取[ScopeType](#scopetype8)的实例化对象。


示例:
1089
```js
Z
zengyawen 已提交
1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108
class Temperature{
    constructor(value){
       this._temp = value;
    }
    comapreTo(value){
       return this._temp >= value.getTemp();
    }
    getTemp(){
       return this._temp;
    }
    toString(){
       return this._temp.toString();
    }
}
```


### constructor<sup>8+</sup>

X
xdmal 已提交
1109
constructor(lowerObj: ScopeType, upperObj: ScopeType)
Z
zengyawen 已提交
1110 1111 1112

用于创建指定下限和上限的作用域实例的构造函数,返回一个Scope对象。

Z
zengyawen 已提交
1113 1114 1115
**系统能力:** SystemCapability.Utils.Lang

**参数:**
1116 1117 1118 1119
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| lowerObj | [ScopeType](#scopetype8) | 是 | 指定作用域实例的下限。 |
| upperObj | [ScopeType](#scopetype8) | 是 | 指定作用域实例的上限。 |
Z
zengyawen 已提交
1120

Z
zengyawen 已提交
1121
**示例:**
1122
  ```js
Z
zengyawen 已提交
1123 1124 1125 1126 1127 1128 1129 1130
  var tempLower = new Temperature(30);
  var tempUpper = new Temperature(40);
  var range = new util.Scope(tempLower, tempUpper);
  ```


### toString<sup>8+</sup>

X
xdmal 已提交
1131
toString(): string
Z
zengyawen 已提交
1132 1133 1134

该字符串化方法返回一个包含当前范围的字符串表示形式。

Z
zengyawen 已提交
1135 1136 1137
**系统能力:** SystemCapability.Utils.Lang

**返回值:**
1138 1139 1140
| 类型 | 说明 |
| -------- | -------- |
| string | 返回包含当前范围对象的字符串表示形式。 |
Z
zengyawen 已提交
1141

Z
zengyawen 已提交
1142
**示例:**
1143
  ```js
Z
zengyawen 已提交
1144 1145 1146 1147 1148 1149 1150 1151 1152
  var tempLower = new Temperature(30);
  var tempUpper = new Temperature(40);
  var range = new util.Scope(tempLower, tempUpper);
  var result = range.toString();
  ```


### intersect<sup>8+</sup>

X
xdmal 已提交
1153
intersect(range: Scope): Scope
Z
zengyawen 已提交
1154 1155 1156

获取给定范围和当前范围的交集。

Z
zengyawen 已提交
1157 1158 1159
**系统能力:** SystemCapability.Utils.Lang

**参数:**
1160 1161 1162
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| range | [Scope](#scope8) | 是 | 传入一个给定范围。 |
Z
zengyawen 已提交
1163

Z
zengyawen 已提交
1164
**返回值:**
1165 1166 1167
| 类型 | 说明 |
| -------- | -------- |
| [Scope](#scope8) | 返回给定范围和当前范围的交集。 |
Z
zengyawen 已提交
1168

Z
zengyawen 已提交
1169
**示例:**
1170
  ```js
Z
zengyawen 已提交
1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186
  var tempLower = new Temperature(30);
  var tempUpper = new Temperature(40);
  var range = new util.Scope(tempLower, tempUpper);
  var tempMiDF = new Temperature(35);
  var tempMidS = new Temperature(39);
  var rangeFir = new util.Scope(tempMiDF, tempMidS);
  range.intersect(rangeFir );
  ```


### intersect<sup>8+</sup>

intersect(lowerObj:ScopeType,upperObj:ScopeType):Scope

获取当前范围与给定下限和上限范围的交集。

Z
zengyawen 已提交
1187 1188 1189
**系统能力:** SystemCapability.Utils.Lang

**参数:**
1190 1191 1192 1193
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| lowerObj | [ScopeType](#scopetype8) | 是 | 给定范围的下限。 |
| upperObj | [ScopeType](#scopetype8) | 是 | 给定范围的上限。 |
Z
zengyawen 已提交
1194

Z
zengyawen 已提交
1195
**返回值:**
1196 1197 1198
| 类型 | 说明 |
| -------- | -------- |
| [Scope](#scope8) | 返回当前范围与给定下限和上限范围的交集。 |
Z
zengyawen 已提交
1199

Z
zengyawen 已提交
1200
**示例:**
1201
  ```js
Z
zengyawen 已提交
1202 1203 1204 1205 1206
  var tempLower = new Temperature(30);
  var tempUpper = new Temperature(40);
  var tempMiDF = new Temperature(35);
  var tempMidS = new Temperature(39);
  var range = new util.Scope(tempLower, tempUpper);
Z
zengyawen 已提交
1207
  var result = range.intersect(tempMiDF, tempMidS);
Z
zengyawen 已提交
1208 1209 1210 1211 1212
  ```


### getUpper<sup>8+</sup>

X
xdmal 已提交
1213
getUpper(): ScopeType
Z
zengyawen 已提交
1214 1215 1216

获取当前范围的上限。

Z
zengyawen 已提交
1217 1218 1219 1220
**系统能力:** SystemCapability.Utils.Lang

**返回值:**

1221 1222 1223
| 类型 | 说明 |
| -------- | -------- |
| [ScopeType](#scopetype8) | 返回当前范围的上限值。 |
Z
zengyawen 已提交
1224

Z
zengyawen 已提交
1225
**示例:**
1226
  ```js
Z
zengyawen 已提交
1227 1228 1229
  var tempLower = new Temperature(30);
  var tempUpper = new Temperature(40);
  var range = new util.Scope(tempLower, tempUpper);
Z
zengyawen 已提交
1230
  var result = range.getUpper();
Z
zengyawen 已提交
1231 1232 1233 1234 1235
  ```


### getLower<sup>8+</sup>

X
xdmal 已提交
1236
getLower(): ScopeType
Z
zengyawen 已提交
1237 1238 1239

获取当前范围的下限。

Z
zengyawen 已提交
1240 1241 1242
**系统能力:** SystemCapability.Utils.Lang

**返回值:**
1243 1244 1245
| 类型 | 说明 |
| -------- | -------- |
| [ScopeType](#scopetype8) | 返回当前范围的下限值。 |
Z
zengyawen 已提交
1246

Z
zengyawen 已提交
1247
**示例:**
1248
  ```js
Z
zengyawen 已提交
1249 1250 1251
  var tempLower = new Temperature(30);
  var tempUpper = new Temperature(40);
  var range = new util.Scope(tempLower, tempUpper);
Z
zengyawen 已提交
1252
  var result = range.getLower();
Z
zengyawen 已提交
1253 1254 1255 1256 1257
  ```


### expand<sup>8+</sup>

X
xdmal 已提交
1258
expand(lowerObj: ScopeType,upperObj: ScopeType): Scope
Z
zengyawen 已提交
1259 1260 1261

创建并返回包括当前范围和给定下限和上限的并集。

Z
zengyawen 已提交
1262 1263 1264
**系统能力:** SystemCapability.Utils.Lang

**参数:**
1265 1266 1267 1268
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| lowerObj | [ScopeType](#scopetype8) | 是 | 给定范围的下限。 |
| upperObj | [ScopeType](#scopetype8) | 是 | 给定范围的上限。 |
Z
zengyawen 已提交
1269

Z
zengyawen 已提交
1270
**返回值:**
1271 1272 1273
| 类型 | 说明 |
| -------- | -------- |
| [Scope](#scope8) | 返回当前范围和给定下限和上限的并集。 |
Z
zengyawen 已提交
1274

Z
zengyawen 已提交
1275
**示例:**
1276 1277

  ```js
Z
zengyawen 已提交
1278 1279 1280 1281 1282
  var tempLower = new Temperature(30);
  var tempUpper = new Temperature(40);
  var tempMiDF = new Temperature(35);
  var tempMidS = new Temperature(39);
  var range = new util.Scope(tempLower, tempUpper);
Z
zengyawen 已提交
1283
  var result = range.expand(tempMiDF, tempMidS);
Z
zengyawen 已提交
1284 1285 1286 1287 1288
  ```


### expand<sup>8+</sup>

X
xdmal 已提交
1289
expand(range: Scope): Scope
Z
zengyawen 已提交
1290 1291 1292

创建并返回包括当前范围和给定范围的并集。

Z
zengyawen 已提交
1293 1294 1295
**系统能力:** SystemCapability.Utils.Lang

**参数:**
1296 1297 1298
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| range | [Scope](#scope8) | 是 | 传入一个给定范围。 |
Z
zengyawen 已提交
1299

Z
zengyawen 已提交
1300
**返回值:**
1301 1302 1303
| 类型 | 说明 |
| -------- | -------- |
| [Scope](#scope8) | 返回包括当前范围和给定范围的并集。 |
Z
zengyawen 已提交
1304

Z
zengyawen 已提交
1305
**示例:**
1306
  ```js
Z
zengyawen 已提交
1307 1308 1309 1310 1311 1312
  var tempLower = new Temperature(30);
  var tempUpper = new Temperature(40);
  var tempMiDF = new Temperature(35);
  var tempMidS = new Temperature(39);
  var range = new util.Scope(tempLower, tempUpper);
  var rangeFir = new util.Scope(tempMiDF, tempMidS);
Z
zengyawen 已提交
1313
  var result = range.expand(rangeFir);
Z
zengyawen 已提交
1314 1315 1316 1317 1318
  ```


### expand<sup>8+</sup>

X
xdmal 已提交
1319
expand(value: ScopeType): Scope
Z
zengyawen 已提交
1320 1321 1322

创建并返回包括当前范围和给定值的并集。

Z
zengyawen 已提交
1323 1324 1325
**系统能力:** SystemCapability.Utils.Lang

**参数:**
1326 1327 1328
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| value | [ScopeType](#scopetype8) | 是 | 传入一个给定值。 |
Z
zengyawen 已提交
1329

Z
zengyawen 已提交
1330
**返回值:**
1331 1332 1333
| 类型 | 说明 |
| -------- | -------- |
| [Scope](#scope8) | 返回包括当前范围和给定值的并集。 |
Z
zengyawen 已提交
1334

Z
zengyawen 已提交
1335
**示例:**
1336
  ```js
Z
zengyawen 已提交
1337 1338 1339 1340
  var tempLower = new Temperature(30);
  var tempUpper = new Temperature(40);
  var tempMiDF = new Temperature(35);
  var range = new util.Scope(tempLower, tempUpper);
Z
zengyawen 已提交
1341
  var result = range.expand(tempMiDF);
Z
zengyawen 已提交
1342 1343 1344 1345 1346
  ```


### contains<sup>8+</sup>

X
xdmal 已提交
1347
contains(value: ScopeType): boolean
Z
zengyawen 已提交
1348 1349 1350

检查给定value是否包含在当前范围内。

Z
zengyawen 已提交
1351 1352 1353
**系统能力:** SystemCapability.Utils.Lang

**参数:**
1354 1355 1356
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| value | [ScopeType](#scopetype8) | 是 | 传入一个给定值。 |
Z
zengyawen 已提交
1357

Z
zengyawen 已提交
1358
**返回值:**
1359 1360 1361
| 类型 | 说明 |
| -------- | -------- |
| boolean | 如果给定值包含在当前范围内返回true,否则返回false。 |
Z
zengyawen 已提交
1362

Z
zengyawen 已提交
1363
**示例:**
1364
  ```js
Z
zengyawen 已提交
1365 1366 1367 1368
  var tempLower = new Temperature(30);
  var tempUpper = new Temperature(40);
  var tempMiDF = new Temperature(35);
  var range = new util.Scope(tempLower, tempUpper);
Z
zengyawen 已提交
1369
  range.contains(tempMiDF);
Z
zengyawen 已提交
1370 1371 1372 1373 1374
  ```


### contains<sup>8+</sup>

X
xdmal 已提交
1375
contains(range: Scope): boolean
Z
zengyawen 已提交
1376 1377 1378

检查给定range是否在当前范围内。

Z
zengyawen 已提交
1379 1380 1381
**系统能力:** SystemCapability.Utils.Lang

**参数:**
1382 1383 1384
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| range | [Scope](#scope8) | 是 | 传入一个给定范围。 |
Z
zengyawen 已提交
1385

Z
zengyawen 已提交
1386
**返回值:**
1387 1388 1389
| 类型 | 说明 |
| -------- | -------- |
| boolean | 如果给定范围包含在当前范围内返回true,否则返回false。 |
Z
zengyawen 已提交
1390

Z
zengyawen 已提交
1391
**示例:**
1392
  ```js
Z
zengyawen 已提交
1393 1394 1395 1396 1397 1398
  var tempLower = new Temperature(30);
  var tempUpper = new Temperature(40);
  var range = new util.Scope(tempLower, tempUpper);
  var tempLess = new Temperature(20);
  var tempMore = new Temperature(45);
  var rangeSec = new util.Scope(tempLess, tempMore);
Z
zengyawen 已提交
1399
  var result = range.contains(rangeSec);
Z
zengyawen 已提交
1400 1401 1402 1403 1404
  ```


### clamp<sup>8+</sup>

X
xdmal 已提交
1405
clamp(value: ScopeType): ScopeType
Z
zengyawen 已提交
1406 1407 1408

将给定值限定到当前范围内。

Z
zengyawen 已提交
1409 1410 1411
**系统能力:** SystemCapability.Utils.Lang

**参数:**
1412 1413 1414
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| value | [ScopeType](#scopetype8) | 是 | 传入的给定值。 |
Z
zengyawen 已提交
1415

Z
zengyawen 已提交
1416
**返回值:**
1417 1418 1419
| 类型 | 说明 |
| -------- | -------- |
| [ScopeType](#scopetype8) | 如果传入的value小于下限,则返回lowerObj;如果大于上限值则返回upperObj;如果在当前范围内,则返回value。 |
Z
zengyawen 已提交
1420

Z
zengyawen 已提交
1421
**示例:**
1422
  ```js
Z
zengyawen 已提交
1423 1424 1425 1426
  var tempLower = new Temperature(30);
  var tempUpper = new Temperature(40);
  var tempMiDF = new Temperature(35);
  var range = new util.Scope(tempLower, tempUpper);
Z
zengyawen 已提交
1427
  var result = range.clamp(tempMiDF);
Z
zengyawen 已提交
1428 1429 1430 1431 1432 1433 1434 1435 1436 1437 1438 1439
  ```


## Base64<sup>8+</sup>


### constructor<sup>8+</sup>

constructor()

Base64的构造函数。

Z
zengyawen 已提交
1440 1441 1442
**系统能力:** SystemCapability.Utils.Lang

**示例:**
1443
  ```js
Z
zengyawen 已提交
1444
  var base64 = new  util.Base64();
Z
zengyawen 已提交
1445 1446 1447 1448 1449
  ```


### encodeSync<sup>8+</sup>

X
xdmal 已提交
1450
encodeSync(src: Uint8Array): Uint8Array
Z
zengyawen 已提交
1451 1452 1453

通过输入参数编码后输出对应文本。

Z
zengyawen 已提交
1454 1455 1456
**系统能力:** SystemCapability.Utils.Lang

**参数:**
1457 1458 1459
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| src | Uint8Array | 是 | 编码输入Uint8数组。 |
Z
zengyawen 已提交
1460

Z
zengyawen 已提交
1461
**返回值:**
1462 1463 1464
| 类型 | 说明 |
| -------- | -------- |
| Uint8Array | 返回编码后新分配的Uint8数组。 |
Z
zengyawen 已提交
1465

Z
zengyawen 已提交
1466
**示例:**
1467
  ```js
Z
zengyawen 已提交
1468 1469 1470 1471 1472 1473 1474 1475
  var that = new util.Base64();
  var array = new Uint8Array([115,49,51]);
  var result = that.encodeSync(array);
  ```


### encodeToStringSync<sup>8+</sup>

X
xdmal 已提交
1476
encodeToStringSync(src: Uint8Array): string
Z
zengyawen 已提交
1477 1478 1479

通过输入参数编码后输出对应文本。

Z
zengyawen 已提交
1480 1481 1482
**系统能力:** SystemCapability.Utils.Lang

**参数:**
1483 1484 1485
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| src | Uint8Array | 是 | 编码输入Uint8数组。 |
Z
zengyawen 已提交
1486

Z
zengyawen 已提交
1487
**返回值:**
1488 1489 1490
| 类型 | 说明 |
| -------- | -------- |
| string | 返回编码后的字符串。 |
Z
zengyawen 已提交
1491

Z
zengyawen 已提交
1492
**示例:**
1493
  ```js
Z
zengyawen 已提交
1494 1495 1496 1497 1498 1499 1500 1501
  var that = new util.Base64();
  var array = new Uint8Array([115,49,51]);
  var result = that.encodeToStringSync(array);
  ```


### decodeSync<sup>8+</sup>

X
xdmal 已提交
1502
decodeSync(src: Uint8Array | string): Uint8Array
Z
zengyawen 已提交
1503 1504 1505

通过输入参数解码后输出对应文本。

Z
zengyawen 已提交
1506 1507 1508
**系统能力:** SystemCapability.Utils.Lang

**参数:**
1509 1510 1511
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| src | Uint8Array&nbsp;\|&nbsp;string | 是 | 解码输入Uint8数组或者字符串。 |
Z
zengyawen 已提交
1512

Z
zengyawen 已提交
1513
**返回值:**
1514 1515 1516
| 类型 | 说明 |
| -------- | -------- |
| Uint8Array | 返回解码后新分配的Uint8数组。 |
Z
zengyawen 已提交
1517

Z
zengyawen 已提交
1518
**示例:**
1519
  ```js
Z
zengyawen 已提交
1520 1521 1522 1523 1524 1525 1526 1527
  var that = new util.Base64();
  var buff = 'czEz';
  var result = that.decodeSync(buff);
  ```


### encode<sup>8+</sup>

X
xdmal 已提交
1528
encode(src: Uint8Array): Promise&lt;Uint8Array&gt;
Z
zengyawen 已提交
1529 1530 1531

通过输入参数异步编码后输出对应文本。

Z
zengyawen 已提交
1532 1533 1534
**系统能力:** SystemCapability.Utils.Lang

**参数:**
1535 1536 1537
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| src | Uint8Array | 是 | 异步编码输入Uint8数组。 |
Z
zengyawen 已提交
1538

Z
zengyawen 已提交
1539
**返回值:**
1540 1541 1542
| 类型 | 说明 |
| -------- | -------- |
| Promise&lt;Uint8Array&gt; | 返回异步编码后新分配的Uint8数组。 |
Z
zengyawen 已提交
1543

Z
zengyawen 已提交
1544
**示例:**
1545
  ```js
Z
zengyawen 已提交
1546 1547 1548
  var that = new util.Base64();
  var array = new Uint8Array([115,49,51]);
  var rarray = new Uint8Array([99,122,69,122]);
Z
zengyawen 已提交
1549
  that.encode(array).then(val=>{    
Z
zengyawen 已提交
1550
      for (var i = 0; i < rarray.length; i++) {        
Z
zengyawen 已提交
1551
          console.log(val[i])
Z
zengyawen 已提交
1552 1553 1554 1555 1556 1557 1558
      }
  })
  ```


### encodeToString<sup>8+</sup>

X
xdmal 已提交
1559
encodeToString(src: Uint8Array): Promise&lt;string&gt;
Z
zengyawen 已提交
1560 1561 1562

通过输入参数异步编码后输出对应文本。

Z
zengyawen 已提交
1563 1564 1565
**系统能力:** SystemCapability.Utils.Lang

**参数:**
1566 1567 1568
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| src | Uint8Array | 是 | 异步编码输入Uint8数组。 |
Z
zengyawen 已提交
1569

Z
zengyawen 已提交
1570
**返回值:**
1571 1572 1573
| 类型 | 说明 |
| -------- | -------- |
| Promise&lt;string&gt; | 返回异步编码后的字符串。 |
Z
zengyawen 已提交
1574

Z
zengyawen 已提交
1575
**示例:**
1576
  ```js
Z
zengyawen 已提交
1577 1578
  var that = new util.Base64();
  var array = new Uint8Array([115,49,51]);
Z
zengyawen 已提交
1579
  that.encodeToString(array).then(val=>{    
Z
zengyawen 已提交
1580
      console.log(val)
Z
zengyawen 已提交
1581 1582 1583 1584 1585 1586
  })
  ```


### decode<sup>8+</sup>

X
xdmal 已提交
1587
decode(src: Uint8Array | string): Promise&lt;Uint8Array&gt;
Z
zengyawen 已提交
1588 1589 1590

通过输入参数异步解码后输出对应文本。

Z
zengyawen 已提交
1591 1592 1593
**系统能力:** SystemCapability.Utils.Lang

**参数:**
1594 1595 1596
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| src | Uint8Array&nbsp;\|&nbsp;string | 是 | 异步解码输入Uint8数组或者字符串。 |
Z
zengyawen 已提交
1597

Z
zengyawen 已提交
1598
**返回值:**
1599 1600 1601
| 类型 | 说明 |
| -------- | -------- |
| Promise&lt;Uint8Array&gt; | 返回异步解码后新分配的Uint8数组。 |
Z
zengyawen 已提交
1602

Z
zengyawen 已提交
1603
**示例:**
1604
  ```js
Z
zengyawen 已提交
1605 1606 1607
  var that = new util.Base64();
  var array = new Uint8Array([99,122,69,122]);
  var rarray = new Uint8Array([115,49,51]);
Z
zengyawen 已提交
1608
  that.decode(array).then(val=>{    
Z
zengyawen 已提交
1609
      for (var i = 0; i < rarray.length; i++) {        
Z
zengyawen 已提交
1610
          console.log(val[i])
Z
zengyawen 已提交
1611 1612 1613 1614 1615
      }
  })
  ```


1616
## types<sup>8+</sup>
Z
zengyawen 已提交
1617 1618 1619 1620 1621 1622 1623 1624


### constructor<sup>8+</sup>

constructor()

Types的构造函数。

Z
zengyawen 已提交
1625 1626 1627
**系统能力:** SystemCapability.Utils.Lang

**示例:**
1628
  ```js
1629
  var type = new util.types();
Z
zengyawen 已提交
1630 1631 1632 1633 1634
  ```


### isAnyArrayBuffer<sup>8+</sup>

X
xdmal 已提交
1635
isAnyArrayBuffer(value: Object): boolean
Z
zengyawen 已提交
1636 1637 1638

检查输入的value是否是ArrayBuffer类型。

Z
zengyawen 已提交
1639 1640 1641
**系统能力:** SystemCapability.Utils.Lang

**参数:**
1642 1643 1644
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| value | Object | 是 | 待检测对象。 |
Z
zengyawen 已提交
1645

Z
zengyawen 已提交
1646
**返回值:**
1647 1648 1649
| 类型 | 说明 |
| -------- | -------- |
| boolean | 判断的结果,如果是ArrayBuffer类型为true,反之为false。 |
Z
zengyawen 已提交
1650

Z
zengyawen 已提交
1651
**示例:**
1652
  ```js
1653
  var that = new util.types();
Z
zengyawen 已提交
1654 1655 1656 1657 1658 1659
  var result = that.isAnyArrayBuffer(new ArrayBuffer([]));
  ```


### isArrayBufferView<sup>8+</sup>

X
xdmal 已提交
1660
isArrayBufferView(value: Object): boolean
Z
zengyawen 已提交
1661 1662 1663

检查输入的value是否是内置ArrayBufferView辅助类型。

Z
zengyawen 已提交
1664
ArrayBufferView辅助类型包括:Int8Array、Int16Array、Int32Array、Uint8Array、Uint8ClampedArray、Uint32Array、Float32Array、Float64Array、DataView。
Z
zengyawen 已提交
1665

Z
zengyawen 已提交
1666 1667 1668
**系统能力:** SystemCapability.Utils.Lang

**参数:**
1669 1670 1671
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| value | Object | 是 | 待检测对象。 |
Z
zengyawen 已提交
1672

Z
zengyawen 已提交
1673
**返回值:**
1674 1675 1676
| 类型 | 说明 |
| -------- | -------- |
| boolean | 判断的结果,如果是内置包含的ArrayBufferView辅助类型为true,反之为false。 |
Z
zengyawen 已提交
1677

Z
zengyawen 已提交
1678
**示例:**
1679
  ```js
1680
  var that = new util.types();
Z
zengyawen 已提交
1681 1682 1683 1684 1685 1686
  var result = that.isArrayBufferView(new Int8Array([]));
  ```


### isArgumentsObject<sup>8+</sup>

X
xdmal 已提交
1687
isArgumentsObject(value: Object): boolean
Z
zengyawen 已提交
1688 1689 1690

检查输入的value是否是一个arguments对象类型。

Z
zengyawen 已提交
1691 1692 1693
**系统能力:** SystemCapability.Utils.Lang

**参数:**
1694 1695 1696
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| value | Object | 是 | 待检测对象。 |
Z
zengyawen 已提交
1697

Z
zengyawen 已提交
1698
**返回值:**
1699 1700 1701
| 类型 | 说明 |
| -------- | -------- |
| boolean | 判断的结果,如果是内置包含的arguments类型为true,反之为false。 |
Z
zengyawen 已提交
1702

Z
zengyawen 已提交
1703
**示例:**
1704
  ```js
1705
  var that = new util.types();
Z
zengyawen 已提交
1706 1707 1708 1709 1710 1711 1712 1713 1714
  function foo() {
      var result = that.isArgumentsObject(arguments);
  }
  var f = foo();
  ```


### isArrayBuffer<sup>8+</sup>

X
xdmal 已提交
1715
isArrayBuffer(value: Object): boolean
Z
zengyawen 已提交
1716

Z
zengyawen 已提交
1717
检查输入的value是否是ArrayBuffer类型。
Z
zengyawen 已提交
1718

Z
zengyawen 已提交
1719 1720 1721
**系统能力:** SystemCapability.Utils.Lang

**参数:**
1722 1723 1724
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| value | Object | 是 | 待检测对象。 |
Z
zengyawen 已提交
1725

Z
zengyawen 已提交
1726
**返回值:**
1727 1728 1729
| 类型 | 说明 |
| -------- | -------- |
| boolean | 判断的结果,如果是内置包含的ArrayBuffer类型为true,反之为false。 |
Z
zengyawen 已提交
1730

Z
zengyawen 已提交
1731
**示例:**
1732
  ```js
1733
  var that = new util.types();
Z
zengyawen 已提交
1734 1735 1736 1737 1738 1739
  var result = that.isArrayBuffer(new ArrayBuffer([]));
  ```


### isAsyncFunction<sup>8+</sup>

X
xdmal 已提交
1740
isAsyncFunction(value: Object): boolean
Z
zengyawen 已提交
1741 1742 1743

检查输入的value是否是一个异步函数类型。

Z
zengyawen 已提交
1744 1745 1746
**系统能力:** SystemCapability.Utils.Lang

**参数:**
1747 1748 1749
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| value | Object | 是 | 待检测对象。 |
Z
zengyawen 已提交
1750

Z
zengyawen 已提交
1751
**返回值:**
1752 1753 1754
| 类型 | 说明 |
| -------- | -------- |
| boolean | 判断的结果,如果是内置包含的异步函数类型为true,反之为false。 |
Z
zengyawen 已提交
1755

Z
zengyawen 已提交
1756
**示例:**
1757
  ```js
1758
  var that = new util.types();
Z
zengyawen 已提交
1759 1760 1761 1762 1763 1764
  var result = that.isAsyncFunction(async function foo() {});
  ```


### isBooleanObject<sup>8+</sup>

X
xdmal 已提交
1765
isBooleanObject(value: Object): boolean
Z
zengyawen 已提交
1766 1767 1768

检查输入的value是否是一个Boolean对象类型。

Z
zengyawen 已提交
1769 1770 1771
**系统能力:** SystemCapability.Utils.Lang

**参数:**
1772 1773 1774
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| value | Object | 是 | 待检测对象。 |
Z
zengyawen 已提交
1775

Z
zengyawen 已提交
1776
**返回值:**
1777 1778 1779
| 类型 | 说明 |
| -------- | -------- |
| boolean | 判断的结果,如果是内置包含的Boolean对象类型为true,反之为false。 |
Z
zengyawen 已提交
1780

Z
zengyawen 已提交
1781
**示例:**
1782
  ```js
1783
  var that = new util.types();
Z
zengyawen 已提交
1784 1785 1786 1787 1788 1789
  var result = that.isBooleanObject(new Boolean(true));
  ```


### isBoxedPrimitive<sup>8+</sup>

X
xdmal 已提交
1790
isBoxedPrimitive(value: Object): boolean
Z
zengyawen 已提交
1791 1792 1793

检查输入的value是否是Boolean或Number或String或Symbol对象类型。

Z
zengyawen 已提交
1794 1795 1796
**系统能力:** SystemCapability.Utils.Lang

**参数:**
1797 1798 1799
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| value | Object | 是 | 待检测对象。 |
Z
zengyawen 已提交
1800

Z
zengyawen 已提交
1801
**返回值:**
1802 1803 1804
| 类型 | 说明 |
| -------- | -------- |
| boolean | 判断的结果,如果是内置包含的Boolean或Number或String或Symbol对象类型为true,反之为false。 |
Z
zengyawen 已提交
1805

Z
zengyawen 已提交
1806
**示例:**
1807
  ```js
1808
  var that = new util.types();
Z
zengyawen 已提交
1809 1810 1811 1812 1813 1814
  var result = that.isBoxedPrimitive(new Boolean(false));
  ```


### isDataView<sup>8+</sup>

X
xdmal 已提交
1815
isDataView(value: Object): boolean
Z
zengyawen 已提交
1816 1817 1818

检查输入的value是否是DataView类型。

Z
zengyawen 已提交
1819 1820 1821
**系统能力:** SystemCapability.Utils.Lang

**参数:**
1822 1823 1824
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| value | Object | 是 | 待检测对象。 |
Z
zengyawen 已提交
1825

Z
zengyawen 已提交
1826
**返回值:**
1827 1828 1829
| 类型 | 说明 |
| -------- | -------- |
| boolean | 判断的结果,如果是内置包含的DataView对象类型为true,反之为false。 |
Z
zengyawen 已提交
1830

Z
zengyawen 已提交
1831
**示例:**
1832
  ```js
1833
  var that = new util.types();
Z
zengyawen 已提交
1834 1835 1836 1837 1838 1839 1840
  const ab = new ArrayBuffer(20);
  var result = that.isDataView(new DataView(ab));
  ```


### isDate<sup>8+</sup>

X
xdmal 已提交
1841
isDate(value: Object): boolean
Z
zengyawen 已提交
1842 1843 1844

检查输入的value是否是Date类型。

Z
zengyawen 已提交
1845 1846 1847
**系统能力:** SystemCapability.Utils.Lang

**参数:**
1848 1849 1850
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| value | Object | 是 | 待检测对象。 |
Z
zengyawen 已提交
1851

Z
zengyawen 已提交
1852
**返回值:**
1853 1854 1855
| 类型 | 说明 |
| -------- | -------- |
| boolean | 判断的结果,如果是内置包含的Date对象类型为true,反之为false。 |
Z
zengyawen 已提交
1856

Z
zengyawen 已提交
1857
**示例:**
1858
  ```js
1859
  var that = new util.types();
Z
zengyawen 已提交
1860 1861 1862 1863 1864 1865
  var result = that.isDate(new Date());
  ```


### isExternal<sup>8+</sup>

X
xdmal 已提交
1866
isExternal(value: Object): boolean
Z
zengyawen 已提交
1867 1868 1869

检查输入的value是否是native External类型。

Z
zengyawen 已提交
1870 1871 1872
**系统能力:** SystemCapability.Utils.Lang

**参数:**
1873 1874 1875
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| value | Object | 是 | 待检测对象。 |
Z
zengyawen 已提交
1876

Z
zengyawen 已提交
1877
**返回值:**
1878 1879 1880
| 类型 | 说明 |
| -------- | -------- |
| boolean | 判断的结果,如果是内置包含native&nbsp;External类型为true,反之为false。 |
Z
zengyawen 已提交
1881

Z
zengyawen 已提交
1882
**示例:**
1883
  ```js
1884
  var that = new util.types();
Z
zengyawen 已提交
1885 1886 1887 1888 1889 1890 1891
  const data = util.createExternalType();
  var result = that.isExternal(data);
  ```


### isFloat32Array<sup>8+</sup>

X
xdmal 已提交
1892
isFloat32Array(value: Object): boolean
Z
zengyawen 已提交
1893 1894 1895

检查输入的value是否是Float32Array数组类型。

Z
zengyawen 已提交
1896 1897 1898
**系统能力:** SystemCapability.Utils.Lang

**参数:**
1899 1900 1901
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| value | Object | 是 | 待检测对象。 |
Z
zengyawen 已提交
1902

Z
zengyawen 已提交
1903
**返回值:**
1904 1905 1906
| 类型 | 说明 |
| -------- | -------- |
| boolean | 判断的结果,如果是内置包含的Float32Array数组类型为true,反之为false。 |
Z
zengyawen 已提交
1907

Z
zengyawen 已提交
1908
**示例:**
1909
  ```js
1910
  var that = new util.types();
Z
zengyawen 已提交
1911 1912 1913 1914 1915 1916
  var result = that.isFloat32Array(new Float32Array());
  ```


### isFloat64Array<sup>8+</sup>

X
xdmal 已提交
1917
isFloat64Array(value: Object): boolean
Z
zengyawen 已提交
1918 1919 1920

检查输入的value是否是Float64Array数组类型。

Z
zengyawen 已提交
1921 1922 1923
**系统能力:** SystemCapability.Utils.Lang

**参数:**
1924 1925 1926
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| value | Object | 是 | 待检测对象。 |
Z
zengyawen 已提交
1927

Z
zengyawen 已提交
1928
**返回值:**
1929 1930 1931
| 类型 | 说明 |
| -------- | -------- |
| boolean | 判断的结果,如果是内置包含的Float64Array数组类型为true,反之为false。 |
Z
zengyawen 已提交
1932

Z
zengyawen 已提交
1933
**示例:**
1934
  ```js
1935
  var that = new util.types();
Z
zengyawen 已提交
1936 1937 1938 1939 1940 1941
  var result = that.isFloat64Array(new Float64Array());
  ```


### isGeneratorFunction<sup>8+</sup>

X
xdmal 已提交
1942
isGeneratorFunction(value: Object): boolean
Z
zengyawen 已提交
1943 1944 1945

检查输入的value是否是generator函数类型。

Z
zengyawen 已提交
1946 1947 1948
**系统能力:** SystemCapability.Utils.Lang

**参数:**
1949 1950 1951
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| value | Object | 是 | 待检测对象。 |
Z
zengyawen 已提交
1952

Z
zengyawen 已提交
1953
**返回值:**
1954 1955 1956
| 类型 | 说明 |
| -------- | -------- |
| boolean | 判断的结果,如果是内置包含的generator函数类型为true,反之为false。 |
Z
zengyawen 已提交
1957

Z
zengyawen 已提交
1958
**示例:**
1959
  ```js
1960
  var that = new util.types();
Z
zengyawen 已提交
1961 1962 1963 1964 1965 1966
  var result = that.isGeneratorFunction(function* foo() {});
  ```


### isGeneratorObject<sup>8+</sup>

X
xdmal 已提交
1967
isGeneratorObject(value: Object): boolean
Z
zengyawen 已提交
1968 1969 1970

检查输入的value是否是generator对象类型。

Z
zengyawen 已提交
1971 1972 1973
**系统能力:** SystemCapability.Utils.Lang

**参数:**
1974 1975 1976
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| value | Object | 是 | 待检测对象。 |
Z
zengyawen 已提交
1977

Z
zengyawen 已提交
1978
**返回值:**
1979 1980 1981
| 类型 | 说明 |
| -------- | -------- |
| boolean | 判断的结果,如果是内置包含的generator对象类型为true,反之为false。 |
Z
zengyawen 已提交
1982

Z
zengyawen 已提交
1983
**示例:**
1984
  ```js
1985
  var that = new util.types();
Z
zengyawen 已提交
1986 1987 1988 1989 1990 1991 1992 1993
  function* foo() {}
  const generator = foo();
  var result = that.isGeneratorObject(generator);
  ```


### isInt8Array<sup>8+</sup>

X
xdmal 已提交
1994
isInt8Array(value: Object): boolean
Z
zengyawen 已提交
1995 1996 1997

检查输入的value是否是Int8Array数组类型。

Z
zengyawen 已提交
1998 1999 2000
**系统能力:** SystemCapability.Utils.Lang

**参数:**
2001 2002 2003
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| value | Object | 是 | 待检测对象。 |
Z
zengyawen 已提交
2004

Z
zengyawen 已提交
2005
**返回值:**
2006 2007 2008
| 类型 | 说明 |
| -------- | -------- |
| boolean | 判断的结果,如果是内置包含的Int8Array数组类型为true,反之为false。 |
Z
zengyawen 已提交
2009

Z
zengyawen 已提交
2010
**示例:**
2011
  ```js
2012
  var that = new util.types();
Z
zengyawen 已提交
2013 2014 2015 2016 2017 2018
  var result = that.isInt8Array(new Int8Array([]));
  ```


### isInt16Array<sup>8+</sup>

X
xdmal 已提交
2019
isInt16Array(value: Object): boolean
Z
zengyawen 已提交
2020 2021 2022

检查输入的value是否是Int16Array数组类型。

Z
zengyawen 已提交
2023 2024 2025
**系统能力:** SystemCapability.Utils.Lang

**参数:**
2026 2027 2028
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| value | Object | 是 | 待检测对象。 |
Z
zengyawen 已提交
2029

Z
zengyawen 已提交
2030
**返回值:**
2031 2032 2033
| 类型 | 说明 |
| -------- | -------- |
| boolean | 判断的结果,如果是内置包含的Int16Array数组类型为true,反之为false。 |
Z
zengyawen 已提交
2034

Z
zengyawen 已提交
2035
**示例:**
2036
  ```js
2037
  var that = new util.types();
Z
zengyawen 已提交
2038 2039 2040 2041 2042 2043
  var result = that.isInt16Array(new Int16Array([]));
  ```


### isInt32Array<sup>8+</sup>

X
xdmal 已提交
2044
isInt32Array(value: Object): boolean
Z
zengyawen 已提交
2045 2046 2047

检查输入的value是否是Int32Array数组类型。

Z
zengyawen 已提交
2048 2049 2050
**系统能力:** SystemCapability.Utils.Lang

**参数:**
2051 2052 2053
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| value | Object | 是 | 待检测对象。 |
Z
zengyawen 已提交
2054

Z
zengyawen 已提交
2055
**返回值:**
2056 2057 2058
| 类型 | 说明 |
| -------- | -------- |
| boolean | 判断的结果,如果是内置包含的Int32Array数组类型为true,反之为false。 |
Z
zengyawen 已提交
2059

Z
zengyawen 已提交
2060
**示例:**
2061
  ```js
2062
  var that = new util.types();
Z
zengyawen 已提交
2063 2064 2065 2066 2067 2068
  var result = that.isInt32Array(new Int32Array([]));
  ```


### isMap<sup>8+</sup>

X
xdmal 已提交
2069
isMap(value: Object): boolean
Z
zengyawen 已提交
2070 2071 2072

检查输入的value是否是Map类型。

Z
zengyawen 已提交
2073 2074 2075
**系统能力:** SystemCapability.Utils.Lang

**参数:**
2076 2077 2078
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| value | Object | 是 | 待检测对象。 |
Z
zengyawen 已提交
2079

Z
zengyawen 已提交
2080
**返回值:**
2081 2082 2083
| 类型 | 说明 |
| -------- | -------- |
| boolean | 判断的结果,如果是内置包含的Map类型为true,反之为false。 |
Z
zengyawen 已提交
2084

Z
zengyawen 已提交
2085
**示例:**
2086
  ```js
2087
  var that = new util.types();
Z
zengyawen 已提交
2088 2089 2090 2091 2092 2093
  var result = that.isMap(new Map());
  ```


### isMapIterator<sup>8+</sup>

X
xdmal 已提交
2094
isMapIterator(value: Object): boolean
Z
zengyawen 已提交
2095 2096 2097

检查输入的value是否是Map的Iterator类型。

Z
zengyawen 已提交
2098 2099 2100
**系统能力:** SystemCapability.Utils.Lang

**参数:**
2101 2102 2103
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| value | Object | 是 | 待检测对象。 |
Z
zengyawen 已提交
2104

Z
zengyawen 已提交
2105
**返回值:**
2106 2107 2108
| 类型 | 说明 |
| -------- | -------- |
| boolean | 判断的结果,如果是内置包含的Map的Iterator类型为true,反之为false。 |
Z
zengyawen 已提交
2109

Z
zengyawen 已提交
2110
**示例:**
2111
  ```js
2112
  var that = new util.types();
Z
zengyawen 已提交
2113 2114 2115 2116 2117 2118 2119
  const map = new Map();
  var result = that.isMapIterator(map.keys());
  ```


### isNativeError<sup>8+</sup>

X
xdmal 已提交
2120
isNativeError(value: Object): boolean
Z
zengyawen 已提交
2121 2122 2123

检查输入的value是否是Error类型。

Z
zengyawen 已提交
2124 2125 2126
**系统能力:** SystemCapability.Utils.Lang

**参数:**
2127 2128 2129
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| value | Object | 是 | 待检测对象。 |
Z
zengyawen 已提交
2130

Z
zengyawen 已提交
2131
**返回值:**
2132 2133 2134
| 类型 | 说明 |
| -------- | -------- |
| boolean | 判断的结果,如果是内置包含的Error类型为true,反之为false。 |
Z
zengyawen 已提交
2135

Z
zengyawen 已提交
2136
**示例:**
2137
  ```js
2138
  var that = new util.types();
Z
zengyawen 已提交
2139 2140 2141 2142 2143 2144
  var result = that.isNativeError(new TypeError());
  ```


### isNumberObject<sup>8+</sup>

X
xdmal 已提交
2145
isNumberObject(value: Object): boolean
Z
zengyawen 已提交
2146 2147 2148

检查输入的value是否是Number对象类型。

Z
zengyawen 已提交
2149 2150 2151
**系统能力:** SystemCapability.Utils.Lang

**参数:**
2152 2153 2154
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| value | Object | 是 | 待检测对象。 |
Z
zengyawen 已提交
2155

Z
zengyawen 已提交
2156
**返回值:**
2157 2158 2159
| 类型 | 说明 |
| -------- | -------- |
| boolean | 判断的结果,如果是内置包含的Number对象类型为true,反之为false。 |
Z
zengyawen 已提交
2160

Z
zengyawen 已提交
2161
**示例:**
2162
  ```js
2163
  var that = new util.types();
Z
zengyawen 已提交
2164 2165 2166 2167 2168 2169
  var result = that.isNumberObject(new Number(0));
  ```


### isPromise<sup>8+</sup>

X
xdmal 已提交
2170
isPromise(value: Object): boolean
Z
zengyawen 已提交
2171 2172 2173

检查输入的value是否是Promise类型。

Z
zengyawen 已提交
2174 2175 2176
**系统能力:** SystemCapability.Utils.Lang

**参数:**
2177 2178 2179
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| value | Object | 是 | 待检测对象。 |
Z
zengyawen 已提交
2180

Z
zengyawen 已提交
2181
**返回值:**
2182 2183 2184
| 类型 | 说明 |
| -------- | -------- |
| boolean | 判断的结果,如果是内置包含的Promise类型为true,反之为false。 |
Z
zengyawen 已提交
2185

Z
zengyawen 已提交
2186
**示例:**
2187
  ```js
2188
  var that = new util.types();
Z
zengyawen 已提交
2189 2190 2191 2192 2193 2194
  var result = that.isPromise(Promise.resolve(1));
  ```


### isProxy<sup>8+</sup>

X
xdmal 已提交
2195
isProxy(value: Object): boolean
Z
zengyawen 已提交
2196 2197 2198

检查输入的value是否是Proxy类型。

Z
zengyawen 已提交
2199 2200 2201
**系统能力:** SystemCapability.Utils.Lang

**参数:**
2202 2203 2204
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| value | Object | 是 | 待检测对象。 |
Z
zengyawen 已提交
2205

Z
zengyawen 已提交
2206
**返回值:**
2207 2208 2209
| 类型 | 说明 |
| -------- | -------- |
| boolean | 判断的结果,如果是内置包含的Proxy类型为true,反之为false。 |
Z
zengyawen 已提交
2210

Z
zengyawen 已提交
2211
**示例:**
2212
  ```js
2213
  var that = new util.types();
Z
zengyawen 已提交
2214 2215 2216 2217 2218 2219 2220 2221
  const target = {};
  const proxy = new Proxy(target, {});
  var result = that.isProxy(proxy);
  ```


### isRegExp<sup>8+</sup>

X
xdmal 已提交
2222
isRegExp(value: Object): boolean
Z
zengyawen 已提交
2223 2224 2225

检查输入的value是否是RegExp类型。

Z
zengyawen 已提交
2226 2227 2228
**系统能力:** SystemCapability.Utils.Lang

**参数:**
2229 2230 2231
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| value | Object | 是 | 待检测对象。 |
Z
zengyawen 已提交
2232

Z
zengyawen 已提交
2233
**返回值:**
2234 2235 2236
| 类型 | 说明 |
| -------- | -------- |
| boolean | 判断的结果,如果是内置包含的RegExp类型为true,反之为false。 |
Z
zengyawen 已提交
2237

Z
zengyawen 已提交
2238
**示例:**
2239
  ```js
2240
  var that = new util.types();
Z
zengyawen 已提交
2241 2242 2243 2244 2245 2246
  var result = that.isRegExp(new RegExp('abc'));
  ```


### isSet<sup>8+</sup>

X
xdmal 已提交
2247
isSet(value: Object): boolean
Z
zengyawen 已提交
2248 2249 2250

检查输入的value是否是Set类型。

Z
zengyawen 已提交
2251 2252 2253
**系统能力:** SystemCapability.Utils.Lang

**参数:**
2254 2255 2256
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| value | Object | 是 | 待检测对象。 |
Z
zengyawen 已提交
2257

Z
zengyawen 已提交
2258
**返回值:**
2259 2260 2261
| 类型 | 说明 |
| -------- | -------- |
| boolean | 判断的结果,如果是内置包含的Set类型为true,反之为false。 |
Z
zengyawen 已提交
2262

Z
zengyawen 已提交
2263
**示例:**
2264
  ```js
2265
  var that = new util.types();
Z
zengyawen 已提交
2266 2267 2268 2269 2270 2271
  var result = that.isSet(new Set());
  ```


### isSetIterator<sup>8+</sup>

X
xdmal 已提交
2272
isSetIterator(value: Object): boolean
Z
zengyawen 已提交
2273 2274 2275

检查输入的value是否是Set的Iterator类型。

Z
zengyawen 已提交
2276 2277 2278
**系统能力:** SystemCapability.Utils.Lang

**参数:**
2279 2280 2281
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| value | Object | 是 | 待检测对象。 |
Z
zengyawen 已提交
2282

Z
zengyawen 已提交
2283
**返回值:**
2284 2285 2286
| 类型 | 说明 |
| -------- | -------- |
| boolean | 判断的结果,如果是内置包含的Set的Iterator类型为true,反之为false。 |
Z
zengyawen 已提交
2287

Z
zengyawen 已提交
2288
**示例:**
2289
  ```js
2290
  var that = new util.types();
Z
zengyawen 已提交
2291 2292 2293 2294 2295 2296 2297
  const set = new Set();
  var result = that.isSetIterator(set.keys());
  ```


### isStringObject<sup>8+</sup>

X
xdmal 已提交
2298
isStringObject(value: Object): boolean
Z
zengyawen 已提交
2299 2300 2301

检查输入的value是否是String对象类型。

Z
zengyawen 已提交
2302 2303 2304
**系统能力:** SystemCapability.Utils.Lang

**参数:**
2305 2306 2307
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| value | Object | 是 | 待检测对象。 |
Z
zengyawen 已提交
2308

Z
zengyawen 已提交
2309
**返回值:**
2310 2311 2312
| 类型 | 说明 |
| -------- | -------- |
| boolean | 判断的结果,如果是内置包含的String对象类型为true,反之为false。 |
Z
zengyawen 已提交
2313

Z
zengyawen 已提交
2314
**示例:**
2315
  ```js
2316
  var that = new util.types();
Z
zengyawen 已提交
2317 2318 2319 2320 2321 2322
  var result = that.isStringObject(new String('foo'));
  ```


### isSymbolObjec<sup>8+</sup>

X
xdmal 已提交
2323
isSymbolObject(value: Object): boolean
Z
zengyawen 已提交
2324 2325 2326

检查输入的value是否是Symbol对象类型。

Z
zengyawen 已提交
2327 2328 2329
**系统能力:** SystemCapability.Utils.Lang

**参数:**
2330 2331 2332
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| value | Object | 是 | 待检测对象。 |
Z
zengyawen 已提交
2333

Z
zengyawen 已提交
2334
**返回值:**
2335 2336 2337
| 类型 | 说明 |
| -------- | -------- |
| boolean | 判断的结果,如果是内置包含的Symbol对象类型为true,反之为false。 |
Z
zengyawen 已提交
2338

Z
zengyawen 已提交
2339
**示例:**
2340
  ```js
2341
  var that = new util.types();
Z
zengyawen 已提交
2342 2343 2344 2345 2346 2347 2348
  const symbols = Symbol('foo');
  var result = that.isSymbolObject(Object(symbols));
  ```


### isTypedArray<sup>8+</sup>

X
xdmal 已提交
2349
isTypedArray(value: Object): boolean
Z
zengyawen 已提交
2350 2351 2352

检查输入的value是否是TypedArray类型的辅助类型。

Z
zengyawen 已提交
2353
TypedArray类型的辅助类型,包括Int8Array、Int16Array、Int32Array、Uint8Array、Uint8ClampedArray、Uint16Array、Uint32Array、Float32Array、Float64Array、DataView。
Z
zengyawen 已提交
2354

Z
zengyawen 已提交
2355 2356 2357
**系统能力:** SystemCapability.Utils.Lang

**参数:**
2358 2359 2360
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| value | Object | 是 | 待检测对象。 |
Z
zengyawen 已提交
2361

Z
zengyawen 已提交
2362
**返回值:**
2363 2364 2365
| 类型 | 说明 |
| -------- | -------- |
| boolean | 判断的结果,如果是内置包含的TypedArray包含的类型为true,反之为false。 |
Z
zengyawen 已提交
2366

Z
zengyawen 已提交
2367
**示例:**
2368
  ```js
2369
  var that = new util.types();
Z
zengyawen 已提交
2370 2371 2372 2373 2374 2375
  var result = that.isTypedArray(new Float64Array([]));
  ```


### isUint8Array<sup>8+</sup>

X
xdmal 已提交
2376
isUint8Array(value: Object): boolean
Z
zengyawen 已提交
2377 2378 2379

检查输入的value是否是Uint8Array数组类型。

Z
zengyawen 已提交
2380 2381 2382
**系统能力:** SystemCapability.Utils.Lang

**参数:**
2383 2384 2385
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| value | Object | 是 | 待检测对象。 |
Z
zengyawen 已提交
2386

Z
zengyawen 已提交
2387
**返回值:**
2388 2389 2390
| 类型 | 说明 |
| -------- | -------- |
| boolean | 判断的结果,如果是内置包含的Uint8Array数组类型为true,反之为false。 |
Z
zengyawen 已提交
2391

Z
zengyawen 已提交
2392
**示例:**
2393
  ```js
2394
  var that = new util.types();
Z
zengyawen 已提交
2395 2396 2397 2398 2399 2400
  var result = that.isUint8Array(new Uint8Array([]));
  ```


### isUint8ClampedArray<sup>8+</sup>

X
xdmal 已提交
2401
isUint8ClampedArray(value: Object): boolean
Z
zengyawen 已提交
2402 2403 2404

检查输入的value是否是Uint8ClampedArray数组类型。

Z
zengyawen 已提交
2405 2406 2407
**系统能力:** SystemCapability.Utils.Lang

**参数:**
2408 2409 2410
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| value | Object | 是 | 待检测对象。 |
Z
zengyawen 已提交
2411

Z
zengyawen 已提交
2412
**返回值:**
2413 2414 2415
| 类型 | 说明 |
| -------- | -------- |
| boolean | 判断的结果,如果是内置包含的Uint8ClampedArray数组类型为true,反之为false。 |
Z
zengyawen 已提交
2416

Z
zengyawen 已提交
2417
**示例:**
2418
  ```js
2419
  var that = new util.types();
Z
zengyawen 已提交
2420 2421 2422 2423 2424 2425
  var result = that.isUint8ClampedArray(new Uint8ClampedArray([]));
  ```


### isUint16Array<sup>8+</sup>

X
xdmal 已提交
2426
isUint16Array(value: Object): boolean
Z
zengyawen 已提交
2427 2428 2429

检查输入的value是否是Uint16Array数组类型。

Z
zengyawen 已提交
2430 2431 2432
**系统能力:** SystemCapability.Utils.Lang

**参数:**
2433 2434 2435
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| value | Object | 是 | 待检测对象。 |
Z
zengyawen 已提交
2436

Z
zengyawen 已提交
2437
**返回值:**
2438 2439 2440
| 类型 | 说明 |
| -------- | -------- |
| boolean | 判断的结果,如果是内置包含的Uint16Array数组类型为true,反之为false。 |
Z
zengyawen 已提交
2441

Z
zengyawen 已提交
2442
**示例:**
2443
  ```js
2444
  var that = new util.types();
Z
zengyawen 已提交
2445 2446 2447 2448 2449 2450
  var result = that.isUint16Array(new Uint16Array([]));
  ```


### isUint32Array<sup>8+</sup>

X
xdmal 已提交
2451
isUint32Array(value: Object): boolean
Z
zengyawen 已提交
2452 2453 2454

检查输入的value是否是Uint32Array数组类型。

Z
zengyawen 已提交
2455 2456 2457
**系统能力:** SystemCapability.Utils.Lang

**参数:**
2458 2459 2460
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| value | Object | 是 | 待检测对象。 |
Z
zengyawen 已提交
2461

Z
zengyawen 已提交
2462
**返回值:**
2463 2464 2465
| 类型 | 说明 |
| -------- | -------- |
| boolean | 判断的结果,如果是内置包含的Uint32Array数组类型为true,反之为false。 |
Z
zengyawen 已提交
2466

Z
zengyawen 已提交
2467
**示例:**
2468
  ```js
2469
  var that = new util.types();
Z
zengyawen 已提交
2470 2471 2472 2473 2474 2475
  var result = that.isUint32Array(new Uint32Array([]));
  ```


### isWeakMap<sup>8+</sup>

X
xdmal 已提交
2476
isWeakMap(value: Object): boolean
Z
zengyawen 已提交
2477 2478 2479

检查输入的value是否是WeakMap类型。

Z
zengyawen 已提交
2480 2481 2482
**系统能力:** SystemCapability.Utils.Lang

**参数:**
2483 2484 2485
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| value | Object | 是 | 待检测对象。 |
Z
zengyawen 已提交
2486

Z
zengyawen 已提交
2487
**返回值:**
2488 2489 2490
| 类型 | 说明 |
| -------- | -------- |
| boolean | 判断的结果,如果是内置包含的WeakMap类型为true,反之为false。 |
Z
zengyawen 已提交
2491

Z
zengyawen 已提交
2492
**示例:**
2493
  ```js
2494
  var that = new util.types();
Z
zengyawen 已提交
2495 2496 2497 2498 2499 2500
  var result = that.isWeakMap(new WeakMap());
  ```


### isWeakSet<sup>8+</sup>

X
xdmal 已提交
2501
isWeakSet(value: Object): boolean
Z
zengyawen 已提交
2502 2503 2504

检查输入的value是否是WeakSet类型。

Z
zengyawen 已提交
2505 2506 2507
**系统能力:** SystemCapability.Utils.Lang

**参数:**
2508 2509 2510
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| value | Object | 是 | 待检测对象。 |
Z
zengyawen 已提交
2511

Z
zengyawen 已提交
2512
**返回值:**
2513 2514 2515
| 类型 | 说明 |
| -------- | -------- |
| boolean | 判断的结果,如果是内置包含的WeakSet类型为true,反之为false。 |
Z
zengyawen 已提交
2516

Z
zengyawen 已提交
2517
**示例:**
2518
  ```js
2519
  var that = new util.types();
Z
zengyawen 已提交
2520 2521
  var result = that.isWeakSet(new WeakSet());
  ```