# ets_utils组件 ets_utils组件共æä¾›å››ä¸ªå模å—,分别是:js_api_moduleã€js_util_moduleã€js_sys_moduleå’Œjs_concurrent_module,以下内容将详细介ç»å„ä¸ªåæ¨¡å—的简介ã€ç›®å½•ã€è¯´æ˜Žå’Œæ¶‰åŠä»“ç‰ç›¸å…³å†…容。 # 忍¡å— ## 1. js_api_module忍¡å— ### 1.1. 简介 URL接å£ç”¨äºŽè§£æžï¼Œæž„é€ ï¼Œè§„èŒƒåŒ–å’Œç¼–ç URLs。 URLçš„æž„é€ å‡½æ•°åˆ›å»ºæ–°çš„URL对象。 以便对URL的已解æžç»„æˆéƒ¨åˆ†æˆ–对URL进行更改。URLSearchParams 接å£å®šä¹‰äº†ä¸€äº›å®žç”¨çš„æ–¹æ³•æ¥å¤„ç† URL 的查询å—符串。 URIè¡¨ç¤ºç»Ÿä¸€èµ„æºæ ‡è¯†ç¬¦å¼•用。 xmlè¡¨ç¤ºæŒ‡å¯æ‰©å±•æ ‡è®°è¯è¨€ã€‚ XmlSerializer接å£ç”¨äºŽç”Ÿæˆä¸€ä¸ªxml文件。 XmlSerializerçš„æž„é€ å‡½æ•°åˆ›å»ºæ–°çš„XmlSerializer对象,调用XmlSerializer对象的方法生æˆä¸€ä¸ªxml文件。XmlPullParser 接å£ç”¨äºŽè§£æžå·²æœ‰çš„xml文件,XmlPullParserçš„æž„é€ å‡½æ•°åˆ›å»ºæ–°çš„XmlPullParser对象,调用XmlPullParser对象的方法解æžxml。 ### 1.2. 目录 ``` commonlibrary/ets_utils/js_api_module/ ├── Class:URL # URLç±» │ ├── new URL(input[, base]) # 创建URL对象 │ ├── hash # hash属性 │ ├── host # host属性 │ ├── hostname # hostname属性 │ ├── href # href属性 │ ├── origin # origin属性 │ ├── password # password属性 │ ├── pathname # pathname属性 │ ├── port # port属性 │ ├── protocol # protocol属性 │ ├── search # search属性 │ ├── searchParams # searchParams属性 │ ├── username # username属性 │ ├── toString() # toString方法 │ └── toJSON() # toJSON方法 ├── Class: URLSearchParams # URLSearchParamsç±» │ ├── new URLSearchParams() # 创建URLSearchParams对象 │ ├── new URLSearchParams(string) # 创建URLSearchParams对象 │ ├── new URLSearchParams(obj) # 创建URLSearchParams对象 │ ├── new URLSearchParams(iterable) # 创建URLSearchParams对象 │ ├── append(name, value) # append方法 │ ├── delete(name) # delete方法 │ ├── entries() # entries方法 │ ├── forEach(fn[, thisArg]) # forEach方法 │ ├── get(name) # get方法 │ ├── getAll(name) # getAll方法 │ ├── has(name) # has方法 │ ├── keys() # keys方法 │ ├── set(name, value) # set方法 │ ├── sort() # sort方法 │ ├── toString() # toString方法 │ ├── values() # values方法 │ └── urlSearchParams[Symbol.iterator]() # 创建URLSearchParams对象 ├── Class:URI # URIç±» │ ├── URI(str: string) # 创建URI对象 │ ├── scheme # scheme属性 │ ├── authority # authority属性 │ ├── ssp # ssp属性 │ ├── userinfo # userinfo属性 │ ├── host # host属性 │ ├── port # port属性 │ ├── query # query属性 │ ├── fragment # fragment属性 │ ├── path # path属性 │ ├── equals(ob: Object) # equals方法 │ ├── normalize() # normalize方法 │ ├── checkIsAbsolute() # checkIsAbsolute方法 │ ├── normalize() # normalize方法 │ └── toString() # toString方法 ├── Class:ConvertXml # ConvertXmlç±» │ ├── ConvertXml() # 创建ConvertXml类对象 │ └── convert(xml: string, options: Object) # convert方法 ├── Class:XmlSerializer # XmlSerializerç±» │ ├── new XmlSerializer(buffer: ArrayBuffer | DataView, encoding?: string) # 创建XmlSerializer类对象 │ ├── setAttributes(name: string, value: string) # 设置Attributes方法 │ ├── addEmptyElement(name: string) # æ·»åŠ ä¸€ä¸ªç©ºå…ƒç´ æ–¹æ³• │ ├── setDeclaration() # 设置Declaration方法 │ ├── startElement(name: string) # è®¾ç½®å¼€å§‹å…ƒç´ æ–¹æ³• │ ├── endElement() # 设置结æŸå…ƒç´ 方法 │ ├── setNamespace(prefix: string, namespace: string) # 设置命å空间方法 │ ├── setCommnet(text: string) # 设置Commnet方法 │ ├── setCData(text: string) # 设置CData方法 │ ├── setText(text: string) # 设置Text方法 │ └── setDocType(text: string) # 设置DocType方法 ├── Class: XmlPullParser # XmlPullParserç±» │ ├── new (buffer: ArrayBuffer | DataView, encoding?: string) # 创建XmlPullParser对象 │ └── parse(option: ParseOptions) # parse方法 ├── alloc() # 创建Buffer实例并åˆå§‹åŒ– ├── allocUninitializedFromPool() # åœ¨æ± ä¸åˆ›å»ºBuffer实例 ├── allocUninitialized() # 创建Buffer实例 ├── byteLength() # 按编ç 返回å—节数 ├── compare() # Bufferæ•°æ®æ¯”较 ├── concat() # 粘接Buffer数组 ├── from() # 创建Buffer实例 ├── isBuffer() # åˆ¤æ–æ˜¯å¦ä¸ºBuffer ├── isEncoding() # 创建Buffer实例 ├── transcode() # 转ç ├── Class: Buffer # Bufferç±» │ ├── length # length属性 │ ├── buffer # buffer属性 │ ├── byteOffset # byteOffset属性 │ ├── fill() # å¡«å……æ•°æ® â”‚ ├── compare() # Bufferæ•°æ®æ¯”较 │ ├── copy() # å¤åˆ¶æ•°æ® │ ├── equals() # 比较实例是å¦ç›¸ç‰ │ ├── includes() # 检查对象是å¦åŒ…å«å€¼ │ ├── indexOf() # 查找索引 │ ├── keys() # 返回包å«key值的è¿ä»£å™¨ │ ├── values() # 返回包å«value值的è¿ä»£å™¨ │ ├── entries() # 返回包å«keyå’Œvalueçš„è¿ä»£å™¨ │ ├── lastIndexOf() # å呿Ÿ¥æ‰¾ç´¢å¼• │ ├── readBigInt64BE() # è¯»å–æœ‰ç¬¦å·çš„大端åº64使•´æ•° │ ├── readBigInt64LE() # è¯»å–æœ‰ç¬¦å·çš„å°ç«¯åº64使•´æ•° │ ├── readBigUInt64BE() # è¯»å–æ— 符å·çš„大端åº64使•´æ•° │ ├── readBigUInt64LE() # è¯»å–æ— 符å·çš„å°ç«¯åº64使•´æ•° │ ├── readDoubleBE() # 读å–64ä½å¤§ç«¯åºåŒç²¾åº¦å€¼ │ ├── readDoubleLE() # 读å–64ä½å°ç«¯åºåŒç²¾åº¦å€¼ │ ├── readFloatBE() # 读å–32ä½å¤§ç«¯åºæµ®ç‚¹æ•° │ ├── readFloatLE() # 读å–32ä½å°ç«¯åºæµ®ç‚¹æ•° │ ├── readInt8() # è¯»å–æœ‰ç¬¦å·çš„8使•´æ•° │ ├── readInt16BE() # è¯»å–æœ‰ç¬¦å·çš„大端åº16使•´æ•° │ ├── readInt16LE() # è¯»å–æœ‰ç¬¦å·çš„å°ç«¯åº16使•´æ•° │ ├── readInt32BE() # è¯»å–æœ‰ç¬¦å·çš„大端åº32使•´æ•° │ ├── readInt32LE() # è¯»å–æœ‰ç¬¦å·çš„å°ç«¯åº32使•´æ•° │ ├── readIntBE() # è¯»å–æœ‰ç¬¦å·çš„å¤§ç«¯åºæ•´æ•° │ ├── readIntLE() # è¯»å–æœ‰ç¬¦å·çš„å°ç«¯åºæ•´æ•° │ ├── readUInt8() # 读å–8使— ç¬¦å·æ•´æ•° │ ├── readUInt16BE() # è¯»å–æ— 符å·çš„大端åº16使•´æ•° │ ├── readUInt16LE() # è¯»å–æ— 符å·çš„å°ç«¯åº16使•´æ•° │ ├── readUInt32BE() # è¯»å–æ— 符å·çš„大端åº32使•´æ•° │ ├── readUInt32LE() # è¯»å–æ— 符å·çš„å°ç«¯åº32使•´æ•° │ ├── readUIntBE() # è¯»å–æ— 符å·çš„å¤§ç«¯åºæ•´æ•° │ ├── readUIntLE() # è¯»å–æ— 符å·çš„å°ç«¯åºæ•´æ•° │ ├── subarray() # åBuffer │ ├── swap16() # 以16ä½ä¸ºåŸºç¡€äº¤æ¢å—èŠ‚é¡ºåº â”‚ ├── swap32() # 以32ä½ä¸ºåŸºç¡€äº¤æ¢å—èŠ‚é¡ºåº â”‚ ├── swap64() # 以64ä½ä¸ºåŸºç¡€äº¤æ¢å—èŠ‚é¡ºåº â”‚ ├── toJSON() # 转为JSONæ ¼å¼å¯¹è±¡ │ ├── toString() # 转æˆå—符串 │ ├── write() # 写入å—符串 │ ├── writeBigInt64BE() # 写入有符å·çš„大端åº64使•´æ•° │ ├── writeBigInt64LE() # 写入有符å·çš„å°ç«¯åº64使•´æ•° │ ├── writeBigUInt64BE() # å†™å…¥æ— ç¬¦å·çš„大端åº64使•´æ•° │ ├── writeBigUInt64LE() # å†™å…¥æ— ç¬¦å·çš„å°ç«¯åº64使•´æ•° │ ├── writeDoubleBE() # 写入64ä½å¤§ç«¯åºåŒæµ®ç‚¹åž‹æ•°æ® │ ├── writeDoubleLE() # 写入64ä½å°ç«¯åºåŒæµ®ç‚¹åž‹æ•°æ® │ ├── writeFloatBE() # 写入32ä½å¤§ç«¯åºæµ®ç‚¹åž‹æ•°æ® │ ├── writeFloatLE() # 写入32ä½å°ç«¯åºæµ®ç‚¹åž‹æ•°æ® │ ├── writeInt8() # 写入8使œ‰ç¬¦å·æ•´æ•° │ ├── writeInt16BE() # 写入有符å·çš„大端åº16使•´æ•° │ ├── writeInt16LE() # 写入有符å·çš„å°ç«¯åº16使•´æ•° │ ├── writeInt32BE() # 写入有符å·çš„大端åº32使•´æ•° │ ├── writeInt32LE() # 写入有符å·çš„大端åº16使•´æ•° │ ├── writeIntBE() # 写入有符å·çš„å¤§ç«¯åºæ•´æ•° │ ├── writeIntLE() # 写入有符å·çš„å°ç«¯åºæ•´æ•° │ ├── writeUInt8() # 写入8使— ç¬¦å·æ•´æ•° │ ├── writeUInt16BE() # å†™å…¥æ— ç¬¦å·çš„大端åº16使•´æ•° │ ├── writeUInt16LE() # å†™å…¥æ— ç¬¦å·çš„å°ç«¯åº16使•´æ•° │ ├── writeUInt32BE() # å†™å…¥æ— ç¬¦å·çš„大端åº32使•´æ•° │ ├── writeUInt32LE() # å†™å…¥æ— ç¬¦å·çš„å°ç«¯åº32使•´æ•° │ ├── writeUIntBE() # å†™å…¥æ— ç¬¦å·çš„å¤§ç«¯åºæ•´æ•° │ └── writeUIntLE() # å†™å…¥æ— ç¬¦å·çš„å°ç«¯åºæ•´æ•° └── Class: Blob # Blobç±» ├── constructor() # æž„é€ å‡½æ•° ├── size # size属性 ├── type # type属性 ├── arrayBuffer() # 获å–ArrayBuffer对象 ├── slice() # 返回切割åŽçš„对象 └── text() # 返回文本 ``` ### 1.3. 说明 #### 1.3.1. 接å£è¯´æ˜Ž | 接å£å | 说明 | | -------- | -------- | | URL(url: string,base?:string \| URL) | 创建并返回一个URL对象,该URL对象引用使用ç»å¯¹URLå—符串,相对URLå—符串和基本URLå—符串指定的URL。 | | tostring():string | 该å—符串化方法返回一个包å«å®Œæ•´ URL çš„ USVString。它的作用ç‰åŒäºŽåªè¯»çš„ URL.href。 | | toJSON():string | 该方法返回一个USVString,其ä¸åŒ…å«ä¸€ä¸ªåºåˆ—化的URL版本。 | | new URLSearchParams() | URLSearchParams() æž„é€ å™¨æ— å…¥å‚,该方法创建并返回一个新的URLSearchParams 对象。 开头的'?' å—符会被忽略。 | | new URLSearchParams(string) | URLSearchParams(string) æž„é€ å™¨çš„å…¥å‚为stringæ•°æ®ç±»åž‹ï¼Œè¯¥æ–¹æ³•创建并返回一个新的URLSearchParams 对象。 开头的'?' å—符会被忽略。 | | new URLSearchParams(obj) | URLSearchParams(obj) æž„é€ å™¨çš„å…¥å‚为objæ•°æ®ç±»åž‹ï¼Œè¯¥æ–¹æ³•创建并返回一个新的URLSearchParams 对象。 开头的'?' å—符会被忽略。 | | new URLSearchParams(iterable) | URLSearchParams(iterable) æž„é€ å™¨çš„å…¥å‚为iterableæ•°æ®ç±»åž‹ï¼Œè¯¥æ–¹æ³•创建并返回一个新的URLSearchParams 对象。 开头的'?' å—符会被忽略。 | | has(name: string): boolean | 检索searchParamså¯¹è±¡ä¸æ˜¯å¦å«æœ‰name。有则返回true,å¦åˆ™è¿”回false。 | | set(name: string, value string): void | 检索searchParamså¯¹è±¡ä¸æ˜¯å¦å«æœ‰key为name的键值对。没有的è¯åˆ™æ·»åŠ è¯¥é”®å€¼å¯¹ï¼Œæœ‰çš„è¯åˆ™ä¿®æ”¹å¯¹è±¡ä¸ç¬¬ä¸€ä¸ªkey所对应的valueï¼Œå¹¶åˆ é™¤é”®ä¸ºname的其余键值对。 | | sort(): void | æ ¹æ®é”®çš„Unicode代ç 点,对包å«åœ¨æ¤å¯¹è±¡ä¸çš„æ‰€æœ‰é”®/值对进行排åºï¼Œå¹¶è¿”回undefined。 | | toString(): string | æ ¹æ®searchParams对象,返回适用在URLä¸çš„æŸ¥è¯¢å—符串。 | | keys(): iterableIterator\<string> | 返回一个iterator,é历器å…许é历对象ä¸åŒ…å«çš„æ‰€æœ‰key值。 | | values(): iterableIterator\<string> | 返回一个iterator,é历器å…许é历对象ä¸åŒ…å«çš„æ‰€æœ‰value值。 | | append(name: string, value: string): void | 在searchParamså¯¹è±¡ä¸æ’å…¥name, value键值对。 | | delete(name: string): void | é历searchParams对象,查找所有的name,åˆ é™¤å¯¹åº”çš„é”®å€¼å¯¹ã€‚ | | get(name: string): string | 检索searchParams对象ä¸ç¬¬ä¸€ä¸ªname,返回name键对应的值。 | | getAll(name: string): string[] | 检索searchParamså¯¹è±¡ä¸æ‰€æœ‰name,返回name键对应的所有值。 | | entries(): iterableIterator<[string, string]> | 返回一个iterator,å…许é历searchParams对象ä¸åŒ…å«çš„æ‰€æœ‰é”®/值对。 | | forEach(): void | 通过回调函数æ¥é历URLSearchParams实例对象上的键值对。 | | urlSearchParams\[Symbol.iterator]() | 返回查询å—ç¬¦ä¸²ä¸æ¯ä¸ªåç§°-值对的ES6è¿ä»£å™¨ã€‚è¿ä»£å™¨çš„æ¯ä¸ªé¡¹éƒ½æ˜¯ä¸€ä¸ªJavaScript数组。 | | URI​(str: string) | 通过解æžç»™å®šå…¥å‚(String strï¼‰æ¥æž„é€ URIã€‚æ¤æž„é€ å‡½æ•°ä¸¥æ ¼æŒ‰ç…§RFC 2396附录Aä¸çš„è¯æ³•规定解æžç»™å®šå—符串。 | | scheme​ | è¿”å›žæ¤ URI çš„scheme部分,如果scheme未定义,则返回 null | | authority​ | è¿”å›žæ¤ URI 的解ç authority部分,如果authority未定义,则返回 null。 | | ssp​ | è¿”å›žæ¤ URI 的解ç scheme-specific部分。 | | userinfo​ | è¿”å›žæ¤ URI 的解ç userinfo部分。包å«passworldå’Œusername。 | | host​ | è¿”å›žæ¤ URI çš„host部分,如果host未定义,则返回 null。 | | port​ | è¿”å›žæ¤ URI çš„port部分,如果port未定义,则返回 -1。URI çš„port组件(如果已定义)是一个éžè´Ÿæ•´æ•°ã€‚ | | query​ | è¿”å›žæ¤ URI çš„query部分,如果query未定义,则返回 null。 | | fragment​ | è¿”å›žæ¤ URI 的解ç fragment组件,如果fragment未定义,则返回 null。| | path​ | è¿”å›žæ¤ URI 的解ç path组件,如果path未定义,则返回 null。 | | equals(ob: Object) | æµ‹è¯•æ¤ URI 是å¦ä¸Žå¦ä¸€ä¸ªå¯¹è±¡ç›¸ç‰ã€‚å¦‚æžœç»™å®šçš„å¯¹è±¡ä¸æ˜¯ URIï¼Œåˆ™æ¤æ–¹æ³•ç«‹å³è¿”回 false。 | | normalize​() | 规范化这个 URI 的路径。如果这个 URI çš„pathä¸è§„èŒƒï¼Œå°†è§„èŒƒåŽæž„é€ ä¸€ä¸ªæ–° URI对象返回。 | | checkIsAbsolute​() | 判æ–这个 URI æ˜¯å¦æ˜¯ç»å¯¹çš„。当且仅当它具有scheme部分时,URI 是ç»å¯¹çš„,返回值为true,å¦åˆ™è¿”回值为false。 | | ConvertXml() | ç”¨äºŽæž„é€ ConvertXmlç±»å¯¹è±¡çš„æž„é€ å‡½æ•°ã€‚æ¤æž„é€ å‡½æ•°æ— éœ€ä¼ å…¥å‚æ•°ã€‚ | | convert(xml: string, options: Object) | è¿”å›žæŒ‰é€‰é¡¹è¦æ±‚转化xmlå—符串的JavaScrip对象。 | | XmlSerializer(buffer: ArrayBuffer \| DataView, encoding?: string) | 创建并返回一个XmlSerializer对象,该XmlSerializerå¯¹è±¡ä¼ å‚ä¸¤ä¸ªç¬¬ä¸€å‚æ•°æ˜¯ArrayBuffer或DataView一段内å˜ï¼Œç¬¬äºŒä¸ªå‚æ•°ä¸ºæ–‡ä»¶æ ¼å¼ï¼ˆé»˜è®¤ä¸ºUTF-8)。 | | setAttributes(name: string, value: string): void | ç»™xml文件ä¸å†™å…¥å±žæ€§Attributes属性。 | | addEmptyElement(name: string): void | å†™å…¥ä¸€ä¸ªç©ºå…ƒç´ ã€‚ | | setDeclaration(): void | 设置Declaration使用编ç 写入xml声明。例如:<?xml version=“1.0â€encoding=“utf-8â€> | | startElement(name: string): void | 写入具有给定åç§°çš„elemnetå¼€å§‹æ ‡è®°ã€‚| | endElement(): void | å†™å…¥å…ƒç´ çš„ç»“æŸæ ‡è®°ã€‚ | | setNamespace(prefix: string, namespace: string): void | 写入当å‰å…ƒç´ æ ‡è®°çš„å‘½å空间。 | | setCommnet(text: string): void | 写入comment属性。 | | setCData(text: string): void | 写入CData属性。 | | setText(text: string): void | 写入Text属性。 | | setDocType(text: string): void | 写入DocType属性。 | | XmlPullParser(buffer: ArrayBuffer \| DataView, encoding?: string) | 创建并返回一个XmlPullParser对象,该XmlPullParserå¯¹è±¡ä¼ å‚ä¸¤ä¸ªç¬¬ä¸€å‚æ•°æ˜¯ArrayBuffer或DataView一段内å˜ï¼Œç¬¬äºŒä¸ªå‚æ•°ä¸ºæ–‡ä»¶æ ¼å¼ï¼ˆé»˜è®¤ä¸ºUTF-8)。 | | parse(option: ParseOptions): void | 该接å£ç”¨äºŽè§£æžxml,ParseOptions傿•°ä¸ºä¸€ä¸ªæŽ¥å£åŒ…å«äº”个å¯é€‰å‚{supportDoctype?: boolea ignoreNameSpace?: boolean tagValueCallbackFunction?: (name: string, value: string) => boolean attributeValueCallbackFunction?: (name: string, value: string) => boolean) tokenValueCallbackFunction?: (eventType: EventType, value: ParseInfo) => boolean }。其ä¸tokenValueCallbackFunction回调函数的入å‚1是事件类型,入å‚2是包å«getColumnNumberã€getDepthç‰get属性的info接å£ï¼Œç”¨æˆ·å¯é€šè¿‡info.getDepth()ç‰æ–¹æ³•æ¥èŽ·å–当å‰è§£æžè¿‡ç¨‹ä¸çš„depthç‰ä¿¡æ¯ã€‚ | | alloc(size: number, fill?: string \| Buffer \| number, encoding?: BufferEncoding): Buffer | 创建size个å—节长度的Buffer实例,并åˆå§‹åŒ–。 | | allocUninitializedFromPool(size: number): Buffer | 创建指定大å°çš„æœªè¢«åˆå§‹åŒ–Buffer实例。内å˜ä»Žç¼“å†²æ± åˆ†é…。 创建的Buffer的内容未知,需è¦ä½¿ç”¨fill()函数æ¥åˆå§‹åŒ–Buffer实例。 | | allocUninitialized(size: number): Buffer | 创建指定大å°çš„æœªè¢«åˆå§‹åŒ–Buffer实例。内å˜ä¸ä»Žç¼“å†²æ± åˆ†é…。 | | byteLength(string: string \| Buffer \| TypedArray \| DataView \| ArrayBuffer \| SharedArrayBuffer, encoding?: BufferEncoding): number | æ ¹æ®ä¸åŒçš„ç¼–ç æ–¹æ³•,返回å—符串的å—节数。 | | compare(buf1: Buffer \| Uint8Array, buf2: Buffer \| Uint8Array): -1 \| 0 \| 1 | 返回比较buf1å’Œbuf2的结果, 通常用于对Buffer实例的数组进行排åºã€‚ | | concat(list: Buffer[] \| Uint8Array[], totalLength?: number): Buffer | å°†listä¸çš„实例内容å¤åˆ¶totalLengthå—节长度到新的Buffer实例ä¸å¹¶è¿”回。 | | from(array: number[]): Buffer | æ ¹æ®æŒ‡å®šæ•°ç»„创建新的Buffer实例。 | | from(arrayBuffer: ArrayBuffer \| SharedArrayBuffer, byteOffset?: number, length?: number): Buffer | 创建指定长度的与arrayBuffer共享内å˜çš„Buffer实例 | | from(buffer: Buffer \| Uint8Array): Buffer | 创建并å¤åˆ¶bufferæ•°æ®åˆ°æ–°çš„Buffer实例并返回。 | | from(object: Object, offsetOrEncoding: number \| string, length: number): Buffer | æ ¹æ®æŒ‡å®šçš„object类型数æ®ï¼Œåˆ›å»ºæ–°çš„Buffer实例。 | | from(string: String, encoding?: BufferEncoding): Buffer | æ ¹æ®æŒ‡å®šç¼–ç æ ¼å¼çš„å—符串,创建新的Buffer实例。 | | isBuffer(obj: Object): boolean | 判æ–obj是å¦ä¸ºBuffer。 | | isEncoding(encoding: string):boolean | 判æ–encoding是å¦ä¸ºæ”¯æŒçš„ç¼–ç æ ¼å¼ã€‚ | | transcode(source: Buffer \| Uint8Array, fromEnc: string, toEnc: string): Buffer | 将给定的Buffer或Uint8Array实例从一ç§å—符编ç 釿–°ç¼–ç 为å¦ä¸€ç§ã€‚ | | length: number | bufferçš„å—节长度。 | | buffer: ArrayBuffer | ArrayBuffer对象。 | | byteOffset: number | 当å‰bufferæ‰€åœ¨å†…å˜æ± çš„åç§»é‡ã€‚ | | fill(value: string \| Buffer \| Uint8Array \| number, offset?: number, end?: number, encoding?: BufferEncoding): Buffer | 用valueå¡«å……this实例指定ä½ç½®çš„æ•°æ®ï¼Œé»˜è®¤ä¸ºå¾ªçŽ¯å¡«å……ï¼Œå¹¶è¿”å›žå¡«å……åŽçš„Buffer实例。 | | compare(target: Buffer \| Uint8Array, targetStart?: number, targetEnd?: number, sourceStart?: number, sourceEnd?: number): -1 \| 0 \| 1 | this实例对象与target实例对象进行比较,返回buf在排åºä¸çš„顺åºï¼Œ-1:剿ޒåºï¼Œ0:与buf相åŒï¼Œ1:åŽæŽ’åºã€‚ | | copy(target: Buffer \| Uint8Array, targetStart?: number, sourceStart?: number, sourceEnd?: number): number | å°†thiså®žä¾‹ä¸æŒ‡å®šä½ç½®çš„æ•°æ®å¤åˆ¶åˆ°target的指定ä½ç½®ä¸Šï¼Œå¹¶è¿”回å¤åˆ¶çš„å—节总长度。 | | equals(otherBuffer: Uint8Array \| Buffer): boolean | 比较this实例和otherBuffer实例是å¦ç›¸ç‰ã€‚ | | includes(value: string \| number \| Buffer \| Uint8Array, byteOffset?: number, encoding?: BufferEncoding): boolean | 检查Buffer对象是å¦åŒ…å«value值。 | | indexOf(value: string \| number \| Buffer \| Uint8Array, byteOffset?: number, encoding?: BufferEncoding): number | 查找this实例ä¸ç¬¬ä¸€æ¬¡å‡ºçްvalue的索引,如果ä¸åŒ…å«value,则为-1。 | | keys(): IterableIterator<number> | 返回一个包å«key值的è¿ä»£å™¨ã€‚ | | values(): IterableIterator<number> | 返回一个包å«valueçš„è¿ä»£å™¨ã€‚ | | entries(): IterableIterator<[number, number]> | 返回一个包å«keyå’Œvalueçš„è¿ä»£å™¨ã€‚ | | lastIndexOf(value: string | number | Buffer | Uint8Array, byteOffset?: number, encoding?: BufferEncoding): number | 返回thiså®žä¾‹ä¸æœ€åŽä¸€æ¬¡å‡ºçްvalue的索引,如果对象ä¸åŒ…å«ï¼Œåˆ™ä¸º-1。 | | readBigInt64BE(offset?: number): bigint | 从指定的offsetå¤„è¯»å–æœ‰ç¬¦å·çš„大端åº64使•´æ•°ã€‚ | | readBigInt64LE(offset?: number): bigint | 从指定的offsetå¤„è¯»å–æœ‰ç¬¦å·çš„å°ç«¯åº64使•´æ•°ã€‚ | | readBigUInt64BE(offset?: number): bigint | 从指定的offsetå¤„è¯»å–æ— 符å·çš„大端åº64使•´æ•°ã€‚ | | readBigUInt64LE(offset?: number): bigint | 从指定的offsetå¤„è¯»å–æ— 符å·çš„å°ç«¯åº64使•´æ•°ã€‚ | | readDoubleBE(offset?: number): number | 从指定offset处读å–64ä½å¤§ç«¯åºåŒç²¾åº¦å€¼ã€‚ | | readDoubleLE(offset?: number): number | 从指定offset处读å–64ä½å°ç«¯åºåŒç²¾åº¦å€¼ã€‚ | | readFloatBE(offset?: number): number | 从指定offset处读å–32ä½å¤§ç«¯åºæµ®ç‚¹æ•°ã€‚ | | readFloatLE(offset?: number): number | 从指定offset处读å–32ä½å°ç«¯åºæµ®ç‚¹æ•°ã€‚ | | readInt8(offset?: number): number | 从指定的offsetå¤„è¯»å–æœ‰ç¬¦å·çš„8使•´æ•°ã€‚ | | readInt16BE(offset?: number): number | 从指定的offsetå¤„è¯»å–æœ‰ç¬¦å·çš„大端åº16使•´æ•°ã€‚ | | readInt16LE(offset?: number): number | 从指定的offsetå¤„è¯»å–æœ‰ç¬¦å·çš„å°ç«¯åº16使•´æ•°ã€‚ | | readInt32BE(offset?: number): number | 从指定的offsetå¤„è¯»å–æœ‰ç¬¦å·çš„大端åº32使•´æ•°ã€‚ | | readInt32LE(offset?: number): number | 从指定的offsetå¤„è¯»å–æœ‰ç¬¦å·çš„å°ç«¯åº32使•´æ•°ã€‚ | | readIntBE(offset: number, byteLength: number): number | 从指定的offset处的buf读å–byteLength个å—èŠ‚ï¼Œå¹¶å°†ç»“æžœè§£é‡Šä¸ºæ”¯æŒæœ€é«˜48ä½ç²¾åº¦çš„大端åºã€äºŒè¿›åˆ¶è¡¥ç 有符å·å€¼ã€‚ | | readIntLE(offset: number, byteLength: number): number | 从指定的offset处的buf读å–byteLength个å—èŠ‚ï¼Œå¹¶å°†ç»“æžœè§£é‡Šä¸ºæ”¯æŒæœ€é«˜48ä½ç²¾åº¦çš„å°ç«¯åºã€äºŒè¿›åˆ¶è¡¥ç 有符å·å€¼ã€‚ | | readUInt8(offset?: number): number | 从offset处读å–8使— ç¬¦å·æ•´åž‹æ•°ã€‚ | | readUInt16BE(offset?: number): number | 从指定的`offset`处的bufè¯»å–æ— 符å·çš„大端åº16使•´æ•°ã€‚ | | readUInt16LE(offset?: number): number | 从指定的`offset`处的bufè¯»å–æ— 符å·çš„å°ç«¯åº16使•´æ•°ã€‚ | | readUInt32BE(offset?: number): number | 从指定的`offset`处的bufè¯»å–æ— 符å·çš„大端åº32使•´æ•°ã€‚ | | readUInt32LE(offset?: number): number | 从指定的`offset`处的bufè¯»å–æ— 符å·çš„å°ç«¯åº32使•´æ•°ã€‚ | | readUIntBE(offset: number, byteLength: number): number | 从指定的`offset`处的buf读å–`byteLength`个å—èŠ‚ï¼Œå¹¶å°†ç»“æžœè§£é‡Šä¸ºæ”¯æŒæœ€é«˜48ä½ç²¾åº¦çš„æ— 符å·å¤§ç«¯åºæ•´æ•°ã€‚ | | readUIntLE(offset: number, byteLength: number): number | 从指定的`offset`处的buf读å–`byteLength`个å—èŠ‚ï¼Œå¹¶å°†ç»“æžœè§£é‡Šä¸ºæ”¯æŒæœ€é«˜48ä½ç²¾åº¦çš„æ— 符å·å°ç«¯åºæ•´æ•°ã€‚ | | subarray(start?: number, end?: number): Buffer | æˆªå–æŒ‡å®šä½ç½®çš„`this`实例并返回。 | | swap16(): Buffer | å°†`this`å®žä¾‹è§£é‡Šä¸ºæ— ç¬¦å·çš„16使•´æ•°æ•°ç»„,并就地交æ¢å—节顺åºã€‚ | | swap32(): Buffer | å°†`this`å®žä¾‹è§£é‡Šä¸ºæ— ç¬¦å·çš„32使•´æ•°æ•°ç»„,并就地交æ¢å—节顺åºã€‚ | | swap64(): Buffer | å°†`this`å®žä¾‹è§£é‡Šä¸ºæ— ç¬¦å·çš„64使•´æ•°æ•°ç»„,并就地交æ¢å—节顺åºã€‚ | | toJSON(): Object | å°†buf转为JSON并返回。 | | toString(encoding?: string, start?: number, end?: number): string | å°†`this`å®žä¾‹ä¸æŒ‡å®šä½ç½®æ•°æ®è½¬æˆæŒ‡å®šç¼–ç æ ¼å¼å—符串并返回。 | | write(str: string, offset?: number, length?: number, encoding?: string): number | 从bufçš„offsetå移写入指定编ç çš„å—符串str,写入的å—节长度为length。 | | writeBigInt64BE(value: bigint, offset?: number): number | 从bufçš„offsetå移写入有符å·çš„大端åº64ä½BigInt型数æ®value。 | | writeBigInt64LE(value: bigint, offset?: number): number | 从bufçš„offsetå移写入有符å·çš„å°ç«¯åº64ä½BigInt型数æ®value。 | | writeBigUInt64BE(value: bigint, offset?: number): number | 从bufçš„offsetåç§»å†™å…¥æ— ç¬¦å·çš„大端åº64ä½BigUInt型数æ®value。 | | writeBigUInt64LE(value: bigint, offset?: number): number | 从bufçš„offsetåç§»å†™å…¥æ— ç¬¦å·çš„å°ç«¯åº64ä½BigUInt型数æ®value。 | | writeDoubleBE(value: number, offset?: number): number | 从bufçš„offsetå移写入大端åºçš„64ä½åŒæµ®ç‚¹åž‹æ•°æ®value。 | | writeDoubleLE(value: number, offset?: number): number | 从bufçš„offsetå移写入å°ç«¯åºçš„64ä½åŒæµ®ç‚¹åž‹æ•°æ®value。 | | writeFloatBE(value: number, offset?: number): number | 从bufçš„offsetå移写入大端åºçš„32使µ®ç‚¹åž‹æ•°æ®value。 | | writeFloatLE(value: number, offset?: number): number | 从bufçš„offsetå移写入å°ç«¯åºçš„32使µ®ç‚¹åž‹æ•°æ®value。 | | writeInt8(value: number, offset?: number): number | 从bufçš„offsetå移写入8使œ‰ç¬¦å·æ•´åž‹æ•°æ®value。 | | writeInt16BE(value: number, offset?: number): number | 从bufçš„offsetå移写入大端åºçš„16使œ‰ç¬¦å·æ•´åž‹æ•°æ®value。 | | writeInt16LE(value: number, offset?: number): number | 从bufçš„offsetå移写入å°ç«¯åºçš„16使œ‰ç¬¦å·æ•´åž‹æ•°æ®value。 | | writeInt32BE(value: number, offset?: number): number | 从bufçš„offsetå移写入大端åºçš„32使œ‰ç¬¦å·æ•´åž‹æ•°æ®value。 | | writeInt32LE(value: number, offset?: number): number | 从bufçš„offsetå移写入å°ç«¯åºçš„32使œ‰ç¬¦å·æ•´åž‹æ•°æ®value。 | | writeIntBE(value: number, offset: number, byteLength: number): number | 从bufçš„offsetå移写入大端åºçš„æœ‰ç¬¦å·valueæ•°æ®,valueå—节长度为byteLength。 | | writeIntLE(value: number, offset: number, byteLength: number): number | 从bufçš„offsetå移写入å°ç«¯åºçš„æœ‰ç¬¦å·valueæ•°æ®,valueå—节长度为byteLength。 | | writeUInt8(value: number, offset?: number): number | 从bufçš„offsetå移写入8使— ç¬¦å·æ•´åž‹æ•°æ®value。 | | writeUInt16BE(value: number, offset?: number): number | 从bufçš„offsetå移写入大端åºçš„16使— ç¬¦å·æ•´åž‹æ•°æ®value。 | | writeUInt16LE(value: number, offset?: number): number | 从bufçš„offsetå移写入å°ç«¯åºçš„16使— ç¬¦å·æ•´åž‹æ•°æ®value。 | | writeUInt32BE(value: number, offset?: number): number | 从bufçš„offsetå移写入大端åºçš„32使— ç¬¦å·æ•´åž‹æ•°æ®value。 | | writeUInt32LE(value: number, offset?: number): number | 从bufçš„offsetå移写入å°ç«¯åºçš„32使— ç¬¦å·æ•´åž‹æ•°æ®value。 | | writeUIntBE(value: number, offset: number, byteLength: number): number | 从bufçš„offsetå移写入大端åºçš„æ— 符å·valueæ•°æ®,valueå—节长度为byteLength。 | | writeUIntLE(value: number, offset: number, byteLength: number): number | 从bufçš„offsetå移写入å°ç«¯åºçš„æ— 符å·valueæ•°æ®,valueå—节长度为byteLength。 | | new Blob(sources: string[] \| ArrayBuffer[] \| TypedArray[] \| DataView[] \| Blob[] , options?: Object) | Blobçš„æž„é€ å‡½æ•°,返回一个Blob的实例对象。 | | size | Blob实例的总å—节大å°ã€‚ | | type | Blob实例的内容类型。 | | arrayBuffer(): Promise<ArrayBuffer> | å°†Blobä¸çš„æ•°æ®æ”¾å…¥åˆ°ArrayBufferä¸ï¼Œå¹¶è¿”回一个Promise。 | | slice(start?: number, end?: number, type?: string): Blob | 创建并返回一个å¤åˆ¶åŽŸblob对象ä¸start到endä½ç½®æ•°æ®çš„æ–°blob实例对象。 | | text(): Promise<string> | 返回一个Promise,该Promiseä¸çš„值为UTF8ç¼–ç 类型的文本。 | #### 1.3.2. 使用说明 | 儿ޥå£ä½¿ç”¨æ–¹æ³•如下: 1ã€new URL(url: string,base?:string|URL) ``` let b = new URL('https://developer.mozilla.org'); // => 'https://developer.mozilla.org/' let a = new URL( 'sca/./path/path/../scasa/text', 'http://www.example.com'); // => 'http://www.example.com/sca/path/scasa/text' ``` 2ã€tostring():string ``` const url = new URL('http://10.0xFF.O400.235:8080/directory/file?query#fragment'); url.toString() // => 'http://10.0xff.o400.235:8080/directory/file?query#fragment' const url = new URL("http://[FEDC:BA98:7654:3210:FEDC:BA98:7654:3210]:80/index.html"); url.toString() // => 'http://[fedc:ba98:7654:3210:fedc:ba98:7654:3210]/index.html' const url = new URL("http://username:password@host:8080/directory/file?query#fragment"); url.toString() // => 'http://username:password@host:8080/directory/file?query#fragment' ``` 3ã€toJSON():string ``` const url = new URL("https://developer.mozilla.org/en-US/docs/Web/API/URL/toString"); url.toJSON(); // => 'https://developer.mozilla.org/en-US/docs/Web/API/URL/toString' ``` 4ã€new URLSearchParams() ``` let params = new URLSearchParams('foo=1&bar=2'); ``` 5ã€new URLSearchParams(string) ``` params = new URLSearchParams('user=abc&query=xyz'); console.log(params.get('user')); // Prints 'abc' ``` 6ã€new URLSearchParams(obj) ``` const params = new URLSearchParams({ user: 'abc', query: ['first', 'second'] }); console.log(params.getAll('query')); // Prints [ 'first,second' ] ``` 7ã€new URLSearchParams(iterable) ``` let params; // Using an array params = new URLSearchParams([ ['user', 'abc'], ['query', 'first'], ['query', 'second'], ]); console.log(params.toString()); // Prints 'user = abc & query = first&query = second' ``` 8ã€has(name: string): boolean ``` console.log(params.has('bar')); // =>true ``` 9ã€set(name: string, value string): void ``` params.set('baz', 3); ``` 10ã€sort(): void ``` params .sort(); ``` 11ã€toString(): string ``` console.log(params .toString()); // =>bar=2&baz=3&foo=1' ``` 12ã€keys(): iterableIterator\<string> ``` for(var key of params.keys()) { console.log(key); } // =>bar baz foo ``` 13ã€values(): iterableIterator\<string> ``` for(var value of params.values()) { console.log(value); } // =>2 3 1 ``` 14ã€append(name: string, value: string): void ``` params.append('foo', 3); // =>bar=2&baz=3&foo=1&foo=3 ``` 15ã€delete(name: string): void ``` params.delete('baz'); // => bar=2&foo=1&foo=3 ``` 16ã€get(name: string): string ``` params.get('foo'); // => 1 ``` 17ã€getAll(name: string): string[] ``` params.getAll('foo'); // =>[ '1', '3' ] ``` 18ã€entries(): iterableIterator<[string, string]> ``` for(var pair of searchParams.entries()) { console.log(pair[0]+ ', '+ pair[1]); } // => bar, 2 foo, 1 foo, 3 ``` 19ã€forEach(): void ``` url.searchParams.forEach((value, name, searchParams) => { console.log(name, value, url.searchParams === searchParams); }); // => foo 1 true // => bar 2 true ``` 20ã€urlSearchParams[Symbol.iterator] () ``` const params = new URLSearchParams('foo=bar&xyz=baz'); for (const [name, value] of params) { console.log(name, value); } // Prints: // foo bar // xyz bar ``` 21ã€URI​(str: string) ``` let gaogao = new Uri.URI('http://gg:gaogao@www.baidu.com:99/path/path?query#fagment'); ``` 22ã€scheme ``` let gaogao = new Uri.URI('http://gg:gaogao@www.baidu.com:99/path/path?query#fagment'); gaogao.scheme // => "http"; ``` 23ã€authority ``` let gaogao = new Uri.URI('http://gg:gaogao@www.baidu.com:99/path/path?query#fagment'); gaogao.authority // => "gg:gaogao@www.baidu.com:99"; ``` 24ã€ssp ``` let gaogao = new Uri.URI('http://gg:gaogao@www.baidu.com:99/path/path?query#fagment'); gaogao.ssp " // => gg:gaogao@www.baidu.com:99/path/path?query"; ``` 25ã€userinfo ``` let gaogao = new Uri.URI('http://gg:gaogao@www.baidu.com:99/path/path?query#fagment'); gaogao.userinfo // => "gg:gaogao"; ``` 26ã€host ``` let gaogao = new Uri.URI('http://gg:gaogao@www.baidu.com:99/path/path?query#fagment'); gaogao.host // => "www.baidu.com"; ``` 27ã€port ``` let gaogao = new Uri.URI('http://gg:gaogao@www.baidu.com:99/path/path?query#fagment'); gaogao.port // => "99"; ``` 28ã€query ``` let gaogao = new Uri.URI('http://gg:gaogao@www.baidu.com:99/path/path?query#fagment'); gaogao.query // => "query"; ``` 29ã€fragment ``` let gaogao = new Uri.URI('http://gg:gaogao@www.baidu.com:99/path/path?query#fagment'); gaogao.fragment // => "fagment"; ``` 30ã€path ``` let gaogao = new Uri.URI('http://gg:gaogao@www.baidu.com:99/path/path?query#fagment'); gaogao.path // => "/path/path"; ``` 31ã€equals(ob: Object) ``` let gaogao = new Uri.URI('http://gg:gaogao@[1:0:0:1:2:1:2:1]:99/path1?query#fagment'); let gaogao1 = gaogao; let res = gaogao.equals(gaogao1); console.log(res); // => true; ``` 32ã€normalize​() ``` let gaogao = new Uri.URI('http://gg:gaogao@[1:0:0:1:2:1:2:1]:99/path/66./../././mm/.././path1?query#fagment'); let res = gaogao.normalize(); console.log(res.path); // => "/path/path1" console.log(res.toString()); // => "http://gg:gaogao@[1:0:0:1:2:1:2:1]:99/path/path1?query#fagment" ``` 33ã€checkIsAbsolute​() ``` let gaogao = new Uri.URI('f/tp://username:password@www.baidu.com:88/path?query#fagment'); let res = gaogao.checkIsAbsolute(); console.log(res); //=> false; ``` 34ã€toString() ``` let gaogao = new Uri.URI('http://gg:gaogao@[1:0:0:1:2:1:2:1]:99/../../path/.././../aa/bb/cc?query#fagment'); let res = gaogao.toString(); console.log(res.toString()); // => 'http://gg:gaogao@[1:0:0:1:2:1:2:1]:99/../../path/.././../aa/bb/cc?query#fagment'; ``` 35ã€ConvertXml() ``` var convertml = new convertXml.ConvertXml(); ``` 36ã€convert(xml: string, options: Object) ``` var result = convertml.convert(xml, {compact: false, spaces: 4}); ``` 37ã€new XmlSerializer(buffer: ArrayBuffer | DataView, encoding?: string) ``` var arrayBuffer = new ArrayBuffer(1024); var bufView = new DataView(arrayBuffer); var thatSer = new xml.XmlSerializer(bufView); ``` 38ã€setDeclaration():void ``` var thatSer = new xml.XmlSerializer(bufView); thatSer.setDeclaration() // => <?xml version="1.0" encoding="utf-8"?>; ``` 39ã€setCommnet(text: string):void ``` var thatSer = new xml.XmlSerializer(bufView); thatSer.setCommnet("Hello, World!"); // => <!--Hello, World!-->; ``` 40ã€setCData(text: string) :void ``` var thatSer = new xml.XmlSerializer(bufView); thatSer.setDocType('root SYSTEM "http://www.test.org/test.dtd"'); // => <![CDATA[root SYSTEM \“http://www.test.org/test.dtd\â€]]> ``` 41ã€setDocType(text: string):void ``` var thatSer = new xml.XmlSerializer(bufView); thatSer.setDocType("foo"); // => <!DOCTYPE foo> ``` 42ã€setNamespace(prefix: string, namespace: string): void 43ã€startElement(name: string): void 44ã€setAttributes(name: string, value: string): void 45ã€endElement(): void 46ã€setText(text: string): void ``` var thatSer = new xml.XmlSerializer(bufView); thatSer.setNamespace("h", "http://www.w3.org/TR/html4/"); thatSer.startElement("table"); thatSer.setAttributes("importance", "high"); thatSer.setText("Happy"); endElement(); // => <h:table importance="high" xmlns:h="http://www.w3.org/TR/html4/">Happy</h:table> ``` 47ã€addEmptyElement(name: string): void ``` var thatSer = new xml.XmlSerializer(bufView); thatSer.addEmptyElement("b"); // => <b/> ``` 48ã€new (buffer: ArrayBuffer | DataView, encoding?: string) ``` var strXml = '<?xml version="1.0" encoding="utf-8"?>' + '<note importance="high" logged="true">' + ' <title>Happy</title>' + '</note>'; var arrayBuffer = new ArrayBuffer(strXml.length*2); var bufView = new Uint8Array(arrayBuffer); var strLen = strXml.length; for (var i = 0; i < strLen; ++i) { bufView[i] = strXml.charCodeAt(i);//设置arraybuffer æ–¹å¼ } var that = new xml.XmlPullParser(arrayBuffer); ``` 49ã€parse(option: ParseOptions): void ``` var strXml = '<?xml version="1.0" encoding="utf-8"?>' + '<note importance="high" logged="true">' + ' <title>Happy</title>' + '</note>'; var arrayBuffer = new ArrayBuffer(strXml.length*2); var bufView = new Uint8Array(arrayBuffer); var strLen = strXml.length; for (var i = 0; i < strLen; ++i) { bufView[i] = strXml.charCodeAt(i); } var that = new xml.XmlPullParser(arrayBuffer); var arrTag = {}; arrTag[0] = '132'; var i = 1; function func(key, value){ arrTag[i] = 'key:'+key+' value:'+ value.getDepth(); i++; return true; } var options = {supportDoctype:true, ignoreNameSpace:true, tokenValueCallbackFunction:func} that.parse(options); ``` 50ã€alloc(size: number, fill?: string | Buffer | number, encoding?: BufferEncoding): Buffer ``` import buffer from '@ohos.buffer'; let buf1 = buffer.alloc(5); let buf2 = buffer.alloc(5, 'a'); let buf3 = buffer.alloc(11, 'aGVsbG8gd29ybGQ=', 'base64'); ``` 51ã€allocUninitializedFromPool(size: number): Buffer ``` import buffer from '@ohos.buffer'; let buf = buffer.allocUninitializedFromPool(10); buf.fill(0); ``` 52ã€allocUninitialized(size: number): Buffer ``` import buffer from '@ohos.buffer'; let buf = buffer.allocUninitialized(10); buf.fill(0); ``` 53ã€byteLength(string: string | Buffer | TypedArray | DataView | ArrayBuffer | SharedArrayBuffer, encoding?: BufferEncoding): number ``` import buffer from '@ohos.buffer'; let str = '\u00bd + \u00bc = \u00be'; console.log(`${str}: ${str.length} characters, ${buffer.byteLength(str, 'utf-8')} bytes`); // 打å°: ½ + ¼ = ¾: 9 characters, 12 bytes ``` 54ã€compare(buf1: Buffer | Uint8Array, buf2: Buffer | Uint8Array): -1 | 0 | 1 ``` import buffer from '@ohos.buffer'; let buf1 = buffer.from('1234'); let buf2 = buffer.from('0123'); let res = buf1.compare(buf2); console.log(Number(res).toString()); // æ‰“å° 1 ``` 55ã€concat(list: Buffer[] | Uint8Array[], totalLength?: number): Buffer ``` import buffer from '@ohos.buffer'; let buf1 = buffer.from("1234"); let buf2 = buffer.from("abcd"); let buf = buffer.concat([buf1, buf2]); console.log(buf.toString('hex')); // 3132333461626364 ``` 56ã€from(array: number[]): Buffer ``` import buffer from '@ohos.buffer'; let buf = buffer.from([0x62, 0x75, 0x66, 0x66, 0x65, 0x72]); console.log(buf.toString('hex')); // 627566666572 ``` 57ã€from(arrayBuffer: ArrayBuffer | SharedArrayBuffer, byteOffset?: number, length?: number): Buffer ``` let ab = new ArrayBuffer(10); let buf = buffer.from(ab, 0, 2); ``` 58ã€from(buffer: Buffer | Uint8Array): Buffer ``` import buffer from '@ohos.buffer'; let buf1 = buffer.from('buffer'); let buf2 = buffer.from(buf1); ``` 59ã€from(object: Object, offsetOrEncoding: number | string, length: number): Buffer ``` import buffer from '@ohos.buffer'; let buf = buffer.from(new String('this is a test')); ``` 60ã€from(string: String, encoding?: BufferEncoding): Buffer ``` import buffer from '@ohos.buffer'; let buf1 = buffer.from('this is a test'); let buf2 = buffer.from('7468697320697320612074c3a97374', 'hex'); console.log(buf1.toString()); // 打å°: this is a test console.log(buf2.toString()); ``` 61ã€isBuffer(obj: Object): boolean ``` import buffer from '@ohos.buffer'; buffer.isBuffer(buffer.alloc(10)); // true buffer.isBuffer(buffer.from('foo')); // true buffer.isBuffer('a string'); // false buffer.isBuffer([]); // false buffer.isBuffer(new Uint8Array(1024)); // false ``` 62ã€isEncoding(encoding: string):boolean ``` import buffer from '@ohos.buffer'; console.log(buffer.isEncoding('utf-8').toString()); // 打å°: true console.log(buffer.isEncoding('hex').toString()); // 打å°: true console.log(buffer.isEncoding('utf/8').toString()); // 打å°: false console.log(buffer.isEncoding('').toString()); // 打å°: false ``` 63ã€transcode(source: Buffer | Uint8Array, fromEnc: string, toEnc: string): Buffer ``` import buffer from '@ohos.buffer'; let buf = buffer.alloc(50); let newBuf = buffer.transcode(buffer.from('€'), 'utf-8', 'ascii'); console.log(newBuf.toString('ascii')); ``` 64ã€length: number ``` import buffer from '@ohos.buffer'; let buf = buffer.from("1236"); console.log(JSON.stringify(buf.length)); ``` 65ã€buffer: ArrayBuffer ``` import buffer from '@ohos.buffer'; let buf = buffer.from("1236"); let arrayBuffer = buf.buffer; console.log(JSON.stringify(new Uint8Array(arrayBuffer))); ``` 66ã€byteOffset: number ``` import buffer from '@ohos.buffer'; let buf = buffer.from("1236"); console.log(JSON.stringify(buf.byteOffset)); ``` 67ã€fill(value: string | Buffer | Uint8Array | number, offset?: number, end?: number, encoding?: BufferEncoding): Buffer ``` import buffer from '@ohos.buffer'; let b = buffer.allocUninitializedFromPool(50).fill('h'); console.log(b.toString()); ``` 68ã€compare(target: Buffer | Uint8Array, targetStart?: number, targetEnd?: number, sourceStart?: number, sourceEnd?: number): -1 | 0 | 1 ``` import buffer from '@ohos.buffer'; let buf1 = buffer.from([1, 2, 3, 4, 5, 6, 7, 8, 9]); let buf2 = buffer.from([5, 6, 7, 8, 9, 1, 2, 3, 4]); console.log(buf1.compare(buf2, 5, 9, 0, 4).toString()); // 打å°: 0 console.log(buf1.compare(buf2, 0, 6, 4).toString()); // 打å°: -1 console.log(buf1.compare(buf2, 5, 6, 5).toString()); // 打å°: 1 ``` 69ã€copy(target: Buffer | Uint8Array, targetStart?: number, sourceStart?: number, sourceEnd?: number): number ``` import buffer from '@ohos.buffer'; let buf1 = buffer.allocUninitializedFromPool(26); let buf2 = buffer.allocUninitializedFromPool(26).fill('!'); for (let i = 0; i < 26; i++) { buf1[i] = i + 97; } buf1.copy(buf2, 8, 16, 20); console.log(buf2.toString('ascii', 0, 25)); // 打å°: !!!!!!!!qrst!!!!!!!!!!!!! ``` 70ã€equals(otherBuffer: Uint8Array | Buffer): boolean ``` import buffer from '@ohos.buffer'; let buf1 = buffer.from('ABC'); let buf2 = buffer.from('414243', 'hex'); let buf3 = buffer.from('ABCD'); console.log(buf1.equals(buf2).toString()); // 打å°: true console.log(buf1.equals(buf3).toString()); // 打å°: false ``` 71ã€includes(value: string | number | Buffer | Uint8Array, byteOffset?: number, encoding?: BufferEncoding): boolean ``` import buffer from '@ohos.buffer'; let buf = buffer.from('this is a buffer'); console.log(buf.includes('this').toString()); // 打å°: true console.log(buf.includes('be').toString()); // 打å°: false ``` 72ã€indexOf(value: string | number | Buffer | Uint8Array, byteOffset?: number, encoding?: BufferEncoding): number ``` import buffer from '@ohos.buffer'; let buf = buffer.from('this is a buffer'); console.log(buf.indexOf('this').toString()); // 打å°: 0 console.log(buf.indexOf('is').toString()); // 打å°: 2 ``` 73ã€keys(): IterableIterator\<number> ``` import buffer from '@ohos.buffer'; let buf = buffer.from('buffer'); for (const key of buf.keys()) { console.log(key.toString()); } ``` 74ã€values(): IterableIterator\<number> ``` import buffer from '@ohos.buffer'; let buf1 = buffer.from('buffer'); for (let value of buf1.values()) { console.log(value.toString()); } ``` 75ã€entries(): IterableIterator<[number, number]> ``` import buffer from '@ohos.buffer'; let buf = buffer.from('buffer'); for (let pair of buf.entries()) { console.log(pair.toString()); } ``` 76ã€lastIndexOf(value: string | number | Buffer | Uint8Array, byteOffset?: number, encoding?: BufferEncoding): number ``` import buffer from '@ohos.buffer'; let buf = buffer.from('this buffer is a buffer'); console.log(buf.lastIndexOf('this').toString()); // 打å°: 0 console.log(buf.lastIndexOf('buffer').toString()); // 打å°: 17 ``` 77ã€readBigInt64BE(offset?: number): bigint ``` import buffer from '@ohos.buffer'; let buf = buffer.from([0x63, 0x64, 0x65, 0x66, 0x67, 0x68, 0x69, 0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78]); console.log(buf.readBigInt64BE(0).toString()); let buf1 = buffer.allocUninitializedFromPool(8); buf1.writeBigInt64BE(0x0102030405060708n, 0); ``` 78ã€readBigInt64LE(offset?: number): bigint ``` import buffer from '@ohos.buffer'; let buf = buffer.from([0x63, 0x64, 0x65, 0x66, 0x67, 0x68, 0x69, 0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78]); console.log(buf.readBigInt64LE(0).toString()); let buf1 = buffer.allocUninitializedFromPool(8); buf1.writeBigInt64BE(0x0102030405060708n, 0); ``` 79ã€readBigUInt64BE(offset?: number): bigint ``` import buffer from '@ohos.buffer'; let buf = buffer.from([0x63, 0x64, 0x65, 0x66, 0x67, 0x68, 0x69, 0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78]); console.log(buf.readBigUInt64BE(0).toString()); let buf1 = buffer.allocUninitializedFromPool(8); buf1.writeBigUInt64BE(0xdecafafecacefaden, 0); ``` 80ã€readBigUInt64LE(offset?: number): bigint ``` import buffer from '@ohos.buffer'; let buf = buffer.from([0x63, 0x64, 0x65, 0x66, 0x67, 0x68, 0x69, 0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78]); console.log(buf.readBigUInt64LE(0).toString()); let buf1 = buffer.allocUninitializedFromPool(8); buf1.writeBigUInt64BE(0xdecafafecacefaden, 0); ``` 81ã€readDoubleBE(offset?: number): number ``` import buffer from '@ohos.buffer'; let buf = buffer.from([1, 2, 3, 4, 5, 6, 7, 8]); console.log(buf.readDoubleBE(0).toString()); let buf1 = buffer.allocUninitializedFromPool(8); buf1.writeDoubleBE(123.456, 0); ``` 82ã€readDoubleLE(offset?: number): number ``` import buffer from '@ohos.buffer'; let buf = buffer.from([1, 2, 3, 4, 5, 6, 7, 8]); console.log(buf.readDoubleLE(0).toString()); let buf1 = buffer.allocUninitializedFromPool(8); buf1.writeDoubleLE(123.456, 0); ``` 83ã€readFloatBE(offset?: number): number ``` import buffer from '@ohos.buffer'; let buf = buffer.from([1, 2, 3, 4, 5, 6, 7, 8]); console.log(buf.readFloatBE(0).toString()); let buf1 = buffer.allocUninitializedFromPool(4); buf1.writeFloatBE(0xcabcbcbc, 0); ``` 84ã€readFloatLE(offset?: number): number ``` import buffer from '@ohos.buffer'; let buf = buffer.from([1, 2, 3, 4, 5, 6, 7, 8]); console.log(buf.readFloatLE(0).toString()); let buf1 = buffer.allocUninitializedFromPool(4); buf1.writeFloatLE(0xcabcbcbc, 0); ``` 85ã€readInt8(offset?: number): number ``` import buffer from '@ohos.buffer'; let buf = buffer.from([-1, 5]); console.log(buf.readInt8(0).toString()); // 打å°: -1 console.log(buf.readInt8(1).toString()); // 打å°: 5 let buf1 = buffer.allocUninitializedFromPool(2); buf1.writeInt8(0x12); ``` 86ã€readInt16BE(offset?: number): number ``` import buffer from '@ohos.buffer'; let buf = buffer.from([0, 5]); console.log(buf.readInt16BE(0).toString()); // 打å°: 5 let buf1 = buffer.alloc(2); buf1.writeInt16BE(0x1234, 0); ``` 87ã€readInt16LE(offset?: number): number ``` import buffer from '@ohos.buffer'; let buf = buffer.from([0, 5]); console.log(buf.readInt16LE(0).toString()); // 打å°: 1280 let buf1 = buffer.alloc(2); buf1.writeInt16BE(0x1234, 0); ``` 88ã€readInt32BE(offset?: number): number ``` import buffer from '@ohos.buffer'; let buf = buffer.from([0, 0, 0, 5]); console.log(buf.readInt32BE(0).toString()); // 打å°: 5 let buf1 = buffer.alloc(4); buf1.writeInt32BE(0x12345678, 0); ``` 89ã€readInt32LE(offset?: number): number ``` import buffer from '@ohos.buffer'; let buf = buffer.from([0, 0, 0, 5]); console.log(buf.readInt32LE(0).toString()); // 打å°: 83886080 let buf1 = buffer.alloc(4); buf1.writeInt32BE(0x12345678, 0); ``` 90ã€readIntBE(offset: number, byteLength: number): number ``` import buffer from '@ohos.buffer'; let buf = buffer.from("ab"); let num = buf.readIntBE(0, 1); console.log(num.toString()); // 97 let buf1 = buffer.allocUninitializedFromPool(6); buf1.writeIntBE(0x123456789011, 0, 6); ``` 91ã€readIntLE(offset: number, byteLength: number): number ``` import buffer from '@ohos.buffer'; let buf = buffer.from([0x12, 0x34, 0x56, 0x78, 0x90, 0xab]); console.log(buf.readIntLE(0, 6).toString(16)); let buf1 = buffer.allocUninitializedFromPool(6); buf1.writeIntLE(0x123456789011, 0, 6); ``` 92ã€readUInt8(offset?: number): number ``` import buffer from '@ohos.buffer'; let buf = buffer.from([1, -2]); console.log(buf.readUInt8(0).toString()); console.log(buf.readUInt8(1).toString()); let buf1 = buffer.allocUninitializedFromPool(4); buf1.writeUInt8(0x42); ``` 93ã€readUInt16BE(offset?: number): number ``` import buffer from '@ohos.buffer'; let buf = buffer.from([0x12, 0x34, 0x56]); console.log(buf.readUInt16BE(0).toString(16)); console.log(buf.readUInt16BE(1).toString(16)); ``` 94ã€readUInt16LE(offset?: number): number ``` import buffer from '@ohos.buffer'; let buf = buffer.from([0x12, 0x34, 0x56]); console.log(buf.readUInt16LE(0).toString(16)); console.log(buf.readUInt16LE(1).toString(16)); ``` 95ã€readUInt32BE(offset?: number): number ``` import buffer from '@ohos.buffer'; let buf = buffer.from([0x12, 0x34, 0x56, 0x78]); console.log(buf.readUInt32BE(0).toString(16)); ``` 96ã€readUInt32LE(offset?: number): number ``` import buffer from '@ohos.buffer'; let buf = buffer.from([0x12, 0x34, 0x56, 0x78]); console.log(buf.readUInt32LE(0).toString(16)); ``` 97ã€readUIntBE(offset: number, byteLength: number): number ``` import buffer from '@ohos.buffer'; let buf = buffer.from([0x12, 0x34, 0x56, 0x78, 0x90, 0xab]); console.log(buf.readUIntBE(0, 6).toString(16)); ``` 98ã€readUIntLE(offset: number, byteLength: number): number ``` import buffer from '@ohos.buffer'; let buf = buffer.from([0x12, 0x34, 0x56, 0x78, 0x90, 0xab]); console.log(buf.readUIntLE(0, 6).toString(16)); ``` 99ã€subarray(start?: number, end?: number): Buffer ``` import buffer from '@ohos.buffer'; let buf1 = buffer.allocUninitializedFromPool(26); for (let i = 0; i < 26; i++) { buf1[i] = i + 97; } const buf2 = buf1.subarray(0, 3); console.log(buf2.toString('ascii', 0, buf2.length)); ``` 100ã€swap16(): Buffer ``` import buffer from '@ohos.buffer'; let buf1 = buffer.from([0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8]); console.log(buf1.toString('hex')); buf1.swap16(); console.log(buf1.toString('hex')); ``` 101ã€swap32(): Buffer ``` import buffer from '@ohos.buffer'; let buf1 = buffer.from([0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8]); console.log(buf1.toString('hex')); buf1.swap32(); console.log(buf1.toString('hex')); ``` 102ã€swap64(): Buffer ``` import buffer from '@ohos.buffer'; let buf1 = buffer.from([0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8]); console.log(buf1.toString('hex')); buf1.swap64(); console.log(buf1.toString('hex')); ``` 103ã€toJSON(): Object ``` import buffer from '@ohos.buffer'; let buf1 = buffer.from([0x1, 0x2, 0x3, 0x4, 0x5]); let obj = buf1.toJSON(); console.log(JSON.stringify(obj)) ``` 104ã€toString(encoding?: string, start?: number, end?: number): string ``` import buffer from '@ohos.buffer'; let buf1 = buffer.allocUninitializedFromPool(26); for (let i = 0; i < 26; i++) { buf1[i] = i + 97; } console.log(buf1.toString('utf-8')); ``` 105ã€write(str: string, offset?: number, length?: number, encoding?: string): number ``` import buffer from '@ohos.buffer'; let buf = buffer.alloc(256); let len = buf.write('\u00bd + \u00bc = \u00be', 0); console.log(`${len} bytes: ${buf.toString('utf-8', 0, len)}`); let buffer1 = buffer.alloc(10); let length = buffer1.write('abcd', 8); ``` 106ã€writeBigInt64BE(value: bigint, offset?: number): number ``` import buffer from '@ohos.buffer'; let buf = buffer.allocUninitializedFromPool(8); buf.writeBigInt64BE(0x0102030405060708n, 0); ``` 107ã€writeBigInt64LE(value: bigint, offset?: number): number ``` import buffer from '@ohos.buffer'; let buf = buffer.allocUninitializedFromPool(8); buf.writeBigInt64LE(0x0102030405060708n, 0); ``` 108ã€writeBigUInt64BE(value: bigint, offset?: number): number ``` import buffer from '@ohos.buffer'; let buf = buffer.allocUninitializedFromPool(8); buf.writeBigUInt64BE(0xdecafafecacefaden, 0); ``` 109ã€writeBigUInt64LE(value: bigint, offset?: number): number ``` import buffer from '@ohos.buffer'; let buf = buffer.allocUninitializedFromPool(8); buf.writeBigUInt64LE(0xdecafafecacefaden, 0); ``` 110ã€writeDoubleBE(value: number, offset?: number): number ``` import buffer from '@ohos.buffer'; let buf = buffer.allocUninitializedFromPool(8); buf.writeDoubleBE(123.456, 0); ``` 111ã€writeDoubleLE(value: number, offset?: number): number ``` import buffer from '@ohos.buffer'; let buf = buffer.allocUninitializedFromPool(8); buf.writeDoubleLE(123.456, 0); ``` 112ã€writeFloatBE(value: number, offset?: number): number ``` import buffer from '@ohos.buffer'; let buf = buffer.allocUninitializedFromPool(8); buf.writeFloatBE(0xcafebabe, 0); ``` 113ã€writeFloatLE(value: number, offset?: number): number ``` import buffer from '@ohos.buffer'; let buf = buffer.allocUninitializedFromPool(8); buf.writeFloatLE(0xcafebabe, 0); ``` 114ã€writeInt8(value: number, offset?: number): number ``` import buffer from '@ohos.buffer'; let buf = buffer.allocUninitializedFromPool(2); buf.writeInt8(2, 0); buf.writeInt8(-2, 1); ``` 115ã€writeInt16BE(value: number, offset?: number): number ``` import buffer from '@ohos.buffer'; let buf = buffer.allocUninitializedFromPool(2); buf.writeInt16BE(0x0102, 0); ``` 116ã€writeInt16LE(value: number, offset?: number): number ``` import buffer from '@ohos.buffer'; let buf = buffer.allocUninitializedFromPool(2); buf.writeInt16LE(0x0304, 0); ``` 117ã€writeInt32BE(value: number, offset?: number): number ``` import buffer from '@ohos.buffer'; let buf = buffer.allocUninitializedFromPool(4); buf.writeInt32BE(0x01020304, 0); ``` 118ã€writeInt32LE(value: number, offset?: number): number ``` import buffer from '@ohos.buffer'; let buf = buffer.allocUninitializedFromPool(4); buf.writeInt32LE(0x05060708, 0); ``` 119ã€writeIntBE(value: number, offset: number, byteLength: number): number ``` import buffer from '@ohos.buffer'; let buf = buffer.allocUninitializedFromPool(6); buf.writeIntBE(0x1234567890ab, 0, 6); ``` 120ã€writeIntLE(value: number, offset: number, byteLength: number): number ``` import buffer from '@ohos.buffer'; let buf = buffer.allocUninitializedFromPool(6); buf.writeIntLE(0x1234567890ab, 0, 6); ``` 121ã€writeUInt8(value: number, offset?: number): number ``` import buffer from '@ohos.buffer'; let buf = buffer.allocUninitializedFromPool(4); buf.writeUInt8(0x3, 0); buf.writeUInt8(0x4, 1); buf.writeUInt8(0x23, 2); buf.writeUInt8(0x42, 3); ``` 122ã€writeUInt16BE(value: number, offset?: number): number ``` import buffer from '@ohos.buffer'; let buf = buffer.allocUninitializedFromPool(4); buf.writeUInt16BE(0xdead, 0); buf.writeUInt16BE(0xbeef, 2); ``` 123ã€writeUInt16LE(value: number, offset?: number): number ``` import buffer from '@ohos.buffer'; let buf = buffer.allocUninitializedFromPool(4); buf.writeUInt16LE(0xdead, 0); buf.writeUInt16LE(0xbeef, 2); ``` 124ã€writeUInt32BE(value: number, offset?: number): number ``` import buffer from '@ohos.buffer'; let buf = buffer.allocUninitializedFromPool(4); buf.writeUInt32BE(0xfeedface, 0); ``` 125ã€writeUInt32LE(value: number, offset?: number): number ``` import buffer from '@ohos.buffer'; let buf = buffer.allocUninitializedFromPool(4); buf.writeUInt32LE(0xfeedface, 0); ``` 126ã€writeUIntBE(value: number, offset: number, byteLength: number): number ``` import buffer from '@ohos.buffer'; let buf = buffer.allocUninitializedFromPool(6); buf.writeUIntBE(0x1234567890ab, 0, 6); ``` 127ã€writeUIntLE(value: number, offset: number, byteLength: number): number ``` import buffer from '@ohos.buffer'; let buf = buffer.allocUninitializedFromPool(6); buf.writeUIntLE(0x1234567890ab, 0, 6); ``` 128ã€new Blob(sources: string[] | ArrayBuffer[] | TypedArray[] | DataView[] | Blob[] , options?: Object) ``` import buffer from '@ohos.buffer'; let blob = new buffer.Blob(['a', 'b', 'c']); let blob1 = new buffer.Blob(['a', 'b', 'c'], {endings:'native', type: 'MIME'}); ``` 129ã€size ``` import buffer from '@ohos.buffer'; let blob = new buffer.Blob(['a', 'b', 'c']); blob.size ``` 130ã€type ``` import buffer from '@ohos.buffer'; let blob = new buffer.Blob(['a', 'b', 'c'], {endings:'native', type: 'MIME'}); blob.type ``` 131ã€arrayBuffer(): Promise<ArrayBuffer> ``` let blob = new buffer.Blob(['a', 'b', 'c']); let pro = blob.arrayBuffer(); pro.then(val => { let uintarr = new Uint8Array(val); console.log(uintarr.toString()); }); ``` 132ã€slice(start?: number, end?: number, type?: string): Blob ``` let blob = new buffer.Blob(['a', 'b', 'c']); let blob2 = blob.slice(0, 2); let blob3 = blob.slice(0, 2, "MIME"); ``` 133ã€text(): Promise<string> ``` let blob = new buffer.Blob(['a', 'b', 'c']); let pro = blob.text(); pro.then(val => { console.log(val) }); ``` ## 2. js_util_module忍¡å— ### 2.1. 简介 UTIL接å£ç”¨äºŽå—符编ç TextEncoderã€è§£ç TextDecoderã€å¸®åŠ©å‡½æ•°HelpFunctionã€åŸºäºŽBase64çš„å—节编ç encode和解ç decodeã€æœ‰ç†æ•°RationalNumber。TextEncoder表示一个文本编ç 器,接å—å—符串作为输入,以UTF-8æ ¼å¼è¿›è¡Œç¼–ç ,输出UTF-8å—节æµã€‚TextDecoder接å£è¡¨ç¤ºä¸€ä¸ªæ–‡æœ¬è§£ç 器,解ç 器将å—节æµä½œä¸ºè¾“入,输出stirngå—符串。HelpFunctionä¸»è¦æ˜¯å¯¹å‡½æ•°åšcallback化ã€promise化以åŠå¯¹é”™è¯¯ç 进行编写输出,åŠç±»å—ç¬¦ä¸²çš„æ ¼å¼åŒ–输出。encode接å£ä½¿ç”¨Base64ç¼–ç æ–¹æ¡ˆå°†æŒ‡å®šu8数组ä¸çš„æ‰€æœ‰å—节编ç 到新分é…çš„u8æ•°ç»„ä¸æˆ–者使用Base64ç¼–ç æ–¹æ¡ˆå°†æŒ‡å®šçš„å—节数组编ç 为String。decode接å£ä½¿ç”¨Base64ç¼–ç æ–¹æ¡ˆå°†Base64ç¼–ç çš„å—符串或输入u8数组解ç 为新分é…çš„u8数组。RationalNumberæœ‰ç†æ•°ä¸»è¦æ˜¯å¯¹æœ‰ç†æ•°è¿›è¡Œæ¯”较,获å–分å分æ¯ç‰æ–¹æ³•。LruBuffer该算法在缓å˜ç©ºé—´ä¸å¤Ÿçš„æ—¶å€™ï¼Œå°†è¿‘æœŸæœ€å°‘ä½¿ç”¨çš„æ•°æ®æ›¿æ¢ä¸ºæ–°æ•°æ®ã€‚该算法æºè‡ªè¿™æ ·ä¸€ç§è®¿é—®èµ„æºçš„需求:近期访问的数æ®ï¼Œå¯èƒ½åœ¨ä¸ä¹…的将æ¥ä¼šå†æ¬¡è®¿é—®ã€‚于是最少访问的数æ®å°±æ˜¯ä»·å€¼æœ€å°çš„,是最应该踢出缓å˜ç©ºé—´çš„æ•°æ®ã€‚Scope接å£ç”¨äºŽæè¿°ä¸€ä¸ªå—段的有效范围。 Scopeå®žä¾‹çš„æž„é€ å‡½æ•°ç”¨äºŽåˆ›å»ºå…·æœ‰æŒ‡å®šä¸‹é™å’Œä¸Šé™çš„å¯¹è±¡ï¼Œå¹¶è¦æ±‚è¿™äº›å¯¹è±¡å¿…é¡»å…·æœ‰å¯æ¯”性。 ### 2.2. 目录 ``` commomlibrary/ets_utils/js_util_module/ ├── Class:TextEncoder # TextEncoderç±» │ ├── new TextEncoder() # 创建TextEncoder对象 │ ├── encode() # encode方法 │ ├── encoding # encoding属性 │ └── encodeInto() # encodeInto方法 ├── Class:TextDecoder # TextDecoderç±» │ ├── new TextDecoder() # 创建TextDecoder对象 │ ├── decode() # decode方法 | ├── decodeWithStream() # decodeWithStream方法 │ ├── encoding # encoding属性 │ ├── fatal # fatal属性 │ └── ignoreBOM # ignoreBOM属性 ├── printf() # printf方法 ├── getErrorString() # getErrorString方法 ├── callbackWrapper() # callbackWrapper方法 ├── promiseWrapper() # promiseWrapper方法 ├── Class:Base64 # Base64ç±» │ ├── new Base64() # 创建Base64对象 │ ├── encodeSync() # encodeSync方法 │ ├── encodeToStringSync() # encodeToStringSync方法 │ ├── decodeSync() # decodeSync方法 │ ├── encode() # encode方法 │ ├── encodeToString() # encodeToString方法 │ └── decode() # decode方法 ├── Class:RationalNumber # RationalNumberç±» │ ├── new RationalNumber() # 创建RationalNumber对象 │ ├── createRationalFromString() # createRationalFromString方法 │ ├── compareTo() # compareTo方法 │ ├── equals() # equals方法 │ ├── valueOf() # valueOf方法 │ ├── getCommonDivisor() # getCommonDivisor方法 │ ├── getDenominator() # getDenominator方法 │ ├── getNumerator() # getNumerator方法 │ ├── isFinite() # isFinite方法 │ ├── isNaN() # isNaN方法 │ ├── isZero() # isZero方法 │ └── toString() # toString方法 ├── Class:LruBuffer # LruBufferç±» │ ├── new LruBuffer() # 创建LruBuffer对象 │ ├── updateCapacity() # updateCapacity方法 │ ├── toString() # toString方法 │ ├── values() # values方法 │ ├── length # length属性 │ ├── getCapacity() # getCapacity方法 │ ├── clear() # clear方法 │ ├── getCreateCount() # getCreateCount方法 │ ├── getMissCount() # getMissCount方法 │ ├── getRemovalCount() # getRemovalCount方法 │ ├── getMatchCount() # getMatchCount方法 │ ├── getPutCount() # getPutCount方法 │ ├── isEmpty() # isEmpty方法 │ ├── get() # get方法 │ ├── put() # put方法 │ ├── keys() # keys方法 │ ├── remove() # remove方法 │ ├── afterRemoval() # afterRemoval方法 │ ├── contains() # contains方法 │ ├── createDefault() # createDefault方法 │ ├── entries() # entries方法 │ └── [Symbol.iterator]() # Symboliterator方法 |—— Class:Scope # Scopeç±» | ├── constructor() # 创建Scope对象 | ├── toString() # toString方法 | ├── intersect() # intersect方法 | ├── intersect() # intersect方法 | ├── getUpper() # getUpper方法 | ├── getLower() # getLower方法 | ├── expand() # expand方法 | ├── expand() # expand方法 | ├── expand() # expand法 | ├── contains() # contains方法 | ├── contains() # contains方法 | └── clamp() # clamp方法 |—— Class:Types # Typesç±» | ├── isAnyArrayBuffer() # isAnyArrayBuffer方法 | ├── isArrayBufferView() # isArrayBufferView方法 | ├── isArgumentsObject() # isArgumentsObject方法 | ├── isArrayBuffer() # isArrayBuffer方法 | ├── isAsyncFunction() # isAsyncFunction方法 | ├── isBigInt64Array() # isBigInt64Array方法 | ├── isBigUint64Array() # isBigUint64Array方法 | ├── isBooleanObject() # isBooleanObject方法 | ├── isBoxedPrimitive() # isBoxedPrimitive方法 | ├── isDataView() # isDataView方法 | ├── isDate() # isDate方法 | ├── isExternal() # isExternal方法 | ├── isFloat32Array() # isFloat32Array方法 | ├── isFloat64Array() # isFloat64Array方法 | ├── isGeneratorFunction() # isGeneratorFunction方法 | ├── isGeneratorObject() # isGeneratorObject方法 | ├── isInt8Array() # isInt8Array方法 | ├── isInt16Array() # isInt16Array方法 | ├── isInt32Array() # isInt32Array方法 | ├── isMap() # isMap方法 | ├── isMapIterator() # isMapIterator方法 | ├── isModuleNamespaceObject() # isModuleNamespaceObject方法 | ├── isNativeError() # isNativeError方法 | ├── isNumberObject() # isNumberObject方法 | ├── isPromise() # isPromise方法 | ├── isProxy() # isProxy方法 | ├── isRegExp() # isRegExp方法 | ├── isSet() # isSet方法 | ├── isSetIterator() # isSetIterator方法 | ├── isSharedArrayBuffer() # isSharedArrayBuffer方法 | ├── isStringObject() # isStringObject方法 | ├── isSymbolObject() # isSymbolObject方法 | ├── isTypedArray() # isTypedArray方法 | ├── isUint8Array() # isUint8Array方法 | ├── isUint8ClampedArray() # isUint8ClampedArray方法 | ├── isUint16Array() # isUint16Array方法 | ├── isUint32Array() # isUint32Array方法 | ├── isWeakMap() # isWeakMap方法 | └── isWeakSet() # isWeakSet方法 |—— Class:ArrayList | ├── new ArrayList() # 创建ArrayList对象 | ├── length # length属性 | ├── add() # add方法 | ├── insert() # insert方法 | ├── has() # has方法 | ├── getIndexOf() # getIndexOf方法 | ├── removeByIndex() # removeByIndex方法 | ├── remove() # remove方法 | ├── getLastIndexOf() # getLastIndexOf方法 | ├── removeByRange() # removeByRange方法 | ├── replaceAllElements() # replaceAllElements方法 | ├── forEach() # forEach方法 | ├── sort() # sort方法 | ├── subArrayList() # subArrayList方法 | ├── clear() # clear方法 | ├── clone() # clone方法 | ├── getCapacity() # getCapacity方法 | ├── convertToArray() # convertToArray方法 | ├── isEmpty() # isEmpty方法 | ├── increaseCapacityTo() # increaseCapacityTo方法 | ├── trimToCurrentLength() # trimToCurrentLength方法 | └── isEmpty() # isEmpty方法 |—— Class:Deque | ├── new Deque() # 创建Deque对象 | ├── length # length属性 | ├── add() # add方法 | ├── insertFront() # insertFront方法 | ├── insertEnd() # insertEnd方法 | ├── has() # has方法 | ├── getFirst() # getFirst方法 | ├── getLast() # getLast方法 | ├── popFirst() # popFirst方法 | ├── popLast() # popLast方法 | └── forEach() # forEach方法 |—— Class:HashMap | ├── new HashMap() # 创建HashMap对象 | ├── length # length属性 | ├── isEmpty() # isEmpty方法 | ├── hasKey() # hasKey方法 | ├── hasValue() # hasValue方法 | ├── setAll() # setAll方法 | ├── set() # set方法 | ├── remove() # remove方法 | ├── clear() # clear方法 | ├── keys() # keys方法 | ├── values() # values方法 | ├── replace() # replace方法 | ├── forEach() # forEach方法 | └── entries() # entries方法 |—— Class:HashSet | ├── new HashSet() # 创建HashSet对象 | ├── length # length属性 | ├── isEmpty() # isEmpty方法 | ├── has() # has方法 | ├── add() # add方法 | ├── remove() # remove方法 | ├── clear() # clear方法 | ├── forEach() # forEach方法 | ├── values() # values方法 | └── entries() # entries方法 |—— Class:LightWeightMap | ├── new LightWeightMap() # 创建LightWeightMap对象 | ├── length # length属性 | ├── hasAll() # hasAll方法 | ├── hasKey() # hasKey方法 | ├── hasValue() # hasValue方法 | ├── increaseCapacityTo() # increaseCapacityTo方法 | ├── entries() # entries方法 | ├── get() # get方法 | ├── getIndexOfKey() # getIndexOfKey方法 | ├── getIndexOfValue() # getIndexOfValue方法 | ├── isEmpty() # isEmpty方法 | ├── getKeyAt() # getKeyAt方法 | ├── keys() # keys方法 | ├── setAll() # setAll方法 | ├── set() # set方法 | ├── remove() # remove方法 | ├── removeAt() # removeAt方法 | ├── clear() # clear方法 | ├── setValueAt() # setValueAt方法 | ├── forEach() # forEach方法 | ├── toString() # toString方法 | ├── getValueAt() # getValueAt方法 | ├── values() # values方法 | └── [Symbol.iterator]() # [Symbol.iterator]方法 |—— Class:LightWeightSet | ├── new LightWeightSet() # 创建LightWeightSet对象 | ├── length # length属性 | ├── add() # add方法 | ├── addAll() # addAll方法 | ├── hasAll() # hasAll方法 | ├── has() # has方法 | ├── equal() # equal方法 | ├── increaseCapacityTo() # increaseCapacityTo方法 | ├── getIndexOf() # getIndexOf方法 | ├── remove() # remove方法 | ├── removeAt() # removeAt方法 | ├── clear() # clear方法 | ├── forEach() # forEach方法 | ├── [Symbol.iterator]() # [Symbol.iterator]方法 | ├── toString() # toString方法 | ├── toArray() # toArray方法 | ├── getValueAt() # getValueAt方法 | ├── values() # values方法 | ├── entries() # entries方法 | └── isEmpty() # isEmpty方法 |—— Class:LinkedList | ├── new LinkedList() # 创建LinkedList对象 | ├── length # length属性 | ├── add() # add方法 | ├── insert() # insert方法 | ├── get() # get方法 | ├── addFirst() # addFirst方法 | ├── removeFirst() # removeFirst方法 | ├── removeLast() # removeLast方法 | ├── has() # has方法 | ├── getIndexOf() # getIndexOf方法 | ├── removeByIndex() # removeByIndex方法 | ├── remove() # remove方法 | ├── removeFirstFound() # removeFirstFound方法 | ├── removeLastFound() # removeLastFound方法 | ├── getLastIndexOf() # getLastIndexOf方法 | ├── getFirst() # getFirst方法 | ├── getLast() # getLast方法 | ├── set() # set方法 | ├── forEach() # forEach方法 | ├── clear() # clear方法 | ├── clone() # clone方法 | ├── convertToArray() # convertToArray方法 | └── [Symbol.iterator]() # [Symbol.iterator]方法 |—— Class:List | ├── new List() # 创建List对象 | ├── length # length属性 | ├── add() # add方法 | ├── insert() # insert方法 | ├── get() # get方法 | ├── has() # has方法 | ├── getIndexOf() # getIndexOf方法 | ├── removeByIndex() # removeByIndex方法 | ├── remove() # remove方法 | ├── getLastIndexOf() # getLastIndexOf方法 | ├── getFirst() # getFirst方法 | ├── getLast() # getLast方法 | ├── set() # set方法 | ├── equal() # equal方法 | ├── forEach() # forEach方法 | ├── sort() # sort方法 | ├── clear() # clear方法 | ├── getSubList() # getSubList方法 | ├── replaceAllElements() # replaceAllElements方法 | ├── convertToArray() # convertToArray方法 | ├── isEmpty() # isEmpty方法 | └── [Symbol.iterator]() # [Symbol.iterator]方法 |—— Class:PlainArray | ├── new PlainArray() # 创建PlainArray对象 | ├── length # length属性 | ├── add() # add方法 | ├── clear() # clear方法 | ├── clone() # clone方法 | ├── has() # has方法 | ├── get() # get方法 | ├── getIndexOfKey() # getIndexOfKey方法 | ├── getIndexOfValue() # getIndexOfValue方法 | ├── isEmpty() # isEmpty方法 | ├── getKeyAt() # getKeyAt方法 | ├── remove() # remove方法 | ├── removeAt() # removeAt方法 | ├── removeRangeFrom() # removeRangeFrom方法 | ├── setValueAt() # setValueAt方法 | ├── toString() # toString方法 | ├── getValueAt() # getValueAt方法 | ├── forEach() # forEach方法 | └── [Symbol.iterator]() # [Symbol.iterator]方法 |—— Class:Queue | ├── new Queue() # 创建Queue对象 | ├── length # length属性 | ├── add() # add方法 | ├── getFirst() # getFirst方法 | ├── pop() # pop方法 | ├── forEach() # forEach方法 | └── [Symbol.iterator]() # [Symbol.iterator]方法 |—— Class:Stack | ├── new Stack() # 创建Stack对象 | ├── length # length属性 | ├── isEmpty() # isEmpty方法 | ├── peek() # peek方法 | ├── pop() # pop方法 | ├── push() # push方法 | ├── locate() # locate方法 | ├── forEach() # forEach方法 | └── [Symbol.iterator]() # [Symbol.iterator]方法 |—— Class:TreeMap | ├── new TreeMap() # 创建TreeMap对象 | ├── length # length属性 | ├── isEmpty() # isEmpty方法 | ├── hasKey() # hasKey方法 | ├── hasValue() # hasValue方法 | ├── get() # get方法 | ├── getFirstKey() # getFirstKey方法 | ├── getLastKey() # getLastKey方法 | ├── setAll() # setAll方法 | ├── set() # set方法 | ├── remove() # remove方法 | ├── clear() # clear方法 | ├── getLowerKey() # getLowerKey方法 | ├── getHigherKey() # getHigherKey方法 | ├── keys() # keys方法 | ├── values() # values方法 | ├── replace() # replace方法 | ├── forEach() # forEach方法 | ├── entries() # entries方法 | └── [Symbol.iterator]() # [Symbol.iterator]方法 └── Class:TreeSet ├── new TreeSet() # 创建TreeSet对象 ├── length # length属性 ├── isEmpty() # isEmpty方法 ├── has() # has方法 ├── add() # add方法 ├── remove() # remove方法 ├── clear() # clear方法 ├── getFirstValue() # getFirstValue方法 ├── getLastValue() # getLastValue方法 ├── getLowerValue() # getLowerValue方法 ├── getHigherValue() # getHigherValue方法 ├── popFirst() # popFirst方法 ├── popLast() # popLast方法 ├── forEach() # forEach方法 ├── values() # values方法 ├── entries() # entries方法 └── [Symbol.iterator]() # [Symbol.iterator]方法 ``` ### 2.3. 说明 #### 2.3.1. 接å£è¯´æ˜Ž | 接å£å | 说明 | | -------- | -------- | | constructor(encoding? : string) | æž„é€ å‡½æ•°ï¼Œå‚æ•°encoding表示编ç çš„æ ¼å¼ã€‚默认utf-8, 支æŒgb18030, gbk, gb2312. | | readonly encoding : string | 在TextEncoderç±»ä¸ï¼ŒèŽ·å–ç¼–ç çš„æ ¼å¼ï¼Œåªæ”¯æŒUTF-8。 | | encode(input : string) : Uint8Array | 输入stirngå—ç¬¦ä¸²ï¼Œæ ¹æ®encodeingç¼–ç 并输出uint8å—节æµã€‚ | | encodeInto(input : string, dest : Uint8Array) : {read : number, written : number} | 输入stirngå—符串,dest表示编ç åŽå˜æ”¾ä½ç½®ï¼Œè¿”回一个对象,read表示已ç»ç¼–ç çš„å—符的个数,written表示已编ç å—符所å å—节的大å°ã€‚ | | constructor(encoding? : string, options? : {fatal? : boolean, ignoreBOM? : boolean}) | æž„é€ å‡½æ•°ï¼Œç¬¬ä¸€ä¸ªå‚æ•°encoding表示解ç çš„æ ¼å¼ã€‚ç¬¬äºŒä¸ªå‚æ•°è¡¨ç¤ºä¸€äº›å±žæ€§ã€‚属性ä¸fatalè¡¨ç¤ºæ˜¯å¦æŠ›å‡ºå¼‚å¸¸ï¼ŒignoreBOM表示是å¦å¿½ç•¥bomæ ‡å¿—ã€‚ | | readonly encoding : string | 在TextDecoderç±»ä¸ï¼ŒèŽ·å–è®¾ç½®çš„è§£ç æ ¼å¼ã€‚ | | readonly fatal : boolean | èŽ·å–æŠ›å‡ºå¼‚å¸¸çš„è®¾ç½®ã€‚ | | readonly ignoreBOM : boolean | èŽ·å–æ˜¯å¦å¿½ç•¥bomæ ‡å¿—çš„è®¾ç½®ã€‚ | | decode(input : Uint8Array, options?: { stream?: false }) : string | 输入è¦è§£ç 的数æ®ï¼Œè§£å‡ºå¯¹åº”çš„stringå—ç¬¦ä¸²ã€‚ç¬¬ä¸€ä¸ªå‚æ•°input表示è¦è§£ç 的数æ®ï¼Œç¬¬äºŒä¸ªå‚æ•°options表示一个boolæ ‡å¿—ï¼Œè¡¨ç¤ºå°†è·Ÿéšé™„åŠ æ•°æ®ï¼Œé»˜è®¤ä¸ºfalse。 | | decodeWithStream(input : Uint8Array, options?: { stream?: false }) : string | 输入è¦è§£ç 的数æ®ï¼Œè§£å‡ºå¯¹åº”çš„stringå—ç¬¦ä¸²ã€‚ç¬¬ä¸€ä¸ªå‚æ•°input表示è¦è§£ç 的数æ®ï¼Œç¬¬äºŒä¸ªå‚æ•°options表示一个boolæ ‡å¿—ï¼Œè¡¨ç¤ºå°†è·Ÿéšé™„åŠ æ•°æ®ï¼Œé»˜è®¤ä¸ºfalse。 | | encodeSync(src: Uint8Array): Uint8Array; | 使用Base64ç¼–ç æ–¹æ¡ˆå°†æŒ‡å®šu8数组ä¸çš„æ‰€æœ‰å—节编ç 到新分é…çš„u8数组ä¸ã€‚ | | encodeToStringSync(src: Uint8Array): string; | 使用Base64ç¼–ç æ–¹æ¡ˆå°†æŒ‡å®šçš„å—节数组编ç 为String。 | | decodeSync(src: Uint8Array \| string): Uint8Array; | 使用Base64ç¼–ç æ–¹æ¡ˆå°†Base64ç¼–ç çš„å—符串或输入u8数组解ç 为新分é…çš„u8数组。 | | encode(src: Uint8Array): Promise\<Uint8Array\>; | 使用Base64ç¼–ç æ–¹æ¡ˆå°†æŒ‡å®šu8数组ä¸çš„æ‰€æœ‰å—节异æ¥ç¼–ç 到新分é…çš„u8数组ä¸ã€‚ | | encodeToString(src: Uint8Array): Promise\<string\>; | 使用Base64ç¼–ç æ–¹æ¡ˆå°†æŒ‡å®šçš„å—节数组异æ¥ç¼–ç 为String。 | | decode(src: Uint8Array \| string): Promise\<Uint8Array\>; | 使用Base64ç¼–ç æ–¹æ¡ˆå°†Base64ç¼–ç çš„å—符串或输入u8数组异æ¥è§£ç 为新分é…çš„u8数组。 | | static createRationalFromString(rationalString: string): RationalNumber | 基于给定的å—符串创建一个RationalNumber对象。 | | compareTo(another: RationalNumber): number | 将当å‰çš„RationalNumber对象与给定的对象进行比较。 | | equals(obj: object): number | 检查给定对象是å¦ä¸Žå½“å‰ RationalNumber 对象相åŒã€‚ | | valueOf(): number | 将当å‰çš„RationalNumberå¯¹è±¡è¿›è¡Œå–æ•´æ•°å€¼æˆ–者浮点数值。 | | static getCommonDivisor(number1: number, number2: number,): number | 获得两个指定数的最大公约数。 | | getDenominator(): number | 获å–当å‰çš„RationalNumber对象的分æ¯ã€‚ | | getNumerator(): number | 获å–当å‰çš„RationalNumber对象的分å。 | | isFinite(): boolean | 检查当å‰çš„RationalNumber对象是有é™çš„。 | | isNaN(): boolean | 检查当å‰RationalNumber对象是å¦è¡¨ç¤ºéžæ•°å—(NaN)值。 | | isZero(): boolean | 检查当å‰RationalNumber对象是å¦è¡¨ç¤ºé›¶å€¼ã€‚ | | toString(): string | 获å–当å‰RationalNumber对象的å—符串表示形å¼ã€‚ | | constructor(capacity?: number) | åˆ›å»ºé»˜è®¤æž„é€ å‡½æ•°ç”¨äºŽåˆ›å»ºä¸€ä¸ªæ–°çš„LruBuffer实例,默认容é‡ä¸º64。 | | updateCapacity(newCapacity: number): void | å°†ç¼“å†²åŒºå®¹é‡æ›´æ–°ä¸ºæŒ‡å®šå®¹é‡ï¼Œå¦‚æžœ newCapacity å°äºŽæˆ–ç‰äºŽ 0,则抛出æ¤å¼‚常。 | | toString(): string | 返回对象的å—符串表示形å¼ï¼Œè¾“出对象的å—符串表示 | | values(): V[] | 获å–当å‰ç¼“å†²åŒºä¸æ‰€æœ‰å€¼çš„列表,输出按å‡åºè¿”回当å‰ç¼“å†²åŒºä¸æ‰€æœ‰å€¼çš„列表,从最近访问到最近最少访问。 | | length: number | 代表当å‰ç¼“冲区ä¸å€¼çš„æ€»æ•°ï¼Œè¾“出返回当å‰ç¼“冲区ä¸å€¼çš„æ€»æ•°ã€‚ | | getCapacity(): number | 获å–当å‰ç¼“冲区的容é‡ï¼Œè¾“出返回当å‰ç¼“冲区的容é‡ã€‚ | | clear(): void | 从当å‰ç¼“冲区清除键值对,清除键值对åŽï¼Œè°ƒç”¨afterRemoval()æ–¹æ³•ä¾æ¬¡å¯¹å…¶æ‰§è¡ŒåŽç»æ“作。 | | getCreateCount(): number | 获å–createDefault()返回值的次数,输出返回createDefault()返回值的次数。 | | getMissCount(): number | èŽ·å–æŸ¥è¯¢å€¼ä¸åŒ¹é…的次数,输出返回查询值ä¸åŒ¹é…的次数。 | | getRemovalCount(): number | 获å–从缓冲区ä¸é€å‡ºå€¼çš„æ¬¡æ•°ï¼Œè¾“出从缓冲区ä¸é©±é€çš„æ¬¡æ•°ã€‚ | | getMatchCount​(): number | èŽ·å–æŸ¥è¯¢å€¼åŒ¹é…æˆåŠŸçš„æ¬¡æ•°ï¼Œè¾“å‡ºè¿”å›žæŸ¥è¯¢å€¼åŒ¹é…æˆåŠŸçš„æ¬¡æ•°ã€‚ | | getPutCount(): number | 获å–å°†å€¼æ·»åŠ åˆ°ç¼“å†²åŒºçš„æ¬¡æ•°ï¼Œè¾“å‡ºè¿”å›žå°†å€¼æ·»åŠ åˆ°ç¼“å†²åŒºçš„æ¬¡æ•°ã€‚ | | isEmpty(): boolean | 检查当å‰ç¼“冲区是å¦ä¸ºç©ºï¼Œè¾“出如果当å‰ç¼“冲区ä¸åŒ…å«ä»»ä½•值,则返回 true 。 | | get(key: K) : V \| undefined | è¡¨ç¤ºè¦æŸ¥è¯¢çš„键,输出如果指定的键å˜åœ¨äºŽç¼“冲区ä¸ï¼Œåˆ™è¿”回与键关è”的值;å¦åˆ™è¿”回undefined。 | | put(key: K , value: V): V | å°†é”®å€¼å¯¹æ·»åŠ åˆ°ç¼“å†²åŒºï¼Œè¾“å‡ºä¸Žæ·»åŠ çš„é”®å…³è”çš„å€¼ï¼›å¦‚æžœè¦æ·»åŠ çš„é”®å·²ç»å˜åœ¨ï¼Œåˆ™è¿”回原始值,如果键或值为空,则抛出æ¤å¼‚常。 | | keys(): K[ ] | 获å–当å‰ç¼“冲区ä¸å€¼çš„键列表,输出返回从最近访问到最近最少访问排åºçš„键列表。 | | remove​(key: K): V \| undefined | 从当å‰ç¼“冲区ä¸åˆ 除指定的键åŠå…¶å…³è”的值。 | | afterRemoval(isEvict: boolean, key: K, value : V, newValue : V):void | åˆ é™¤å€¼åŽæ‰§è¡ŒåŽç»æ“作。 | | contains(key: K): boolean | 检查当å‰ç¼“冲区是å¦åŒ…嫿Œ‡å®šçš„é”®ï¼Œè¾“å‡ºå¦‚æžœç¼“å†²åŒºåŒ…å«æŒ‡å®šçš„键,则返回 true 。 | | createDefault(key: K): V | 如果未计算特定键的值,则执行åŽç»æ“ä½œï¼Œå‚æ•°è¡¨ç¤ºä¸¢å¤±çš„é”®,输出返回与键关è”的值。 | | entries(): [K,V] | å…许è¿ä»£åŒ…å«åœ¨è¿™ä¸ªå¯¹è±¡ä¸çš„æ‰€æœ‰é”®å€¼å¯¹ã€‚æ¯å¯¹çš„键和值都是对象。 | | \[Symbol.iterator\](): [K,V] | 返回以键值对得形å¼å¾—一个二维数组。 | | constructor(lowerObj: ScopeType, upperObj : ScopeType) | 创建并返回一个Scope对象,用于创建指定下é™å’Œä¸Šé™çš„ä½œç”¨åŸŸå®žä¾‹çš„æž„é€ å‡½æ•°ã€‚ | | toString(): string | 该å—符串化方法返回一个包å«å½“å‰èŒƒå›´çš„å—符串表示形å¼ã€‚ | | intersect(range: Scope): Scope | 获å–给定范围和当å‰èŒƒå›´çš„交集。 | | intersect(lowerObj: ScopeType, upperObj: ScopeType): Scope | 获å–当å‰èŒƒå›´ä¸Žç»™å®šä¸‹é™å’Œä¸Šé™èŒƒå›´çš„交集。 | | getUpper(): ScopeType | 获å–当å‰èŒƒå›´çš„上é™ã€‚ | | getLower(): ScopeType | 获å–当å‰èŒƒå›´çš„下é™ã€‚ | | expand(lowerObj: ScopeType, upperObj: ScopeType): Scope | 创建并返回包括当å‰èŒƒå›´å’Œç»™å®šä¸‹é™å’Œä¸Šé™çš„并集。 | | expand(range: Scope): Scope | 创建并返回包括当å‰èŒƒå›´å’Œç»™å®šèŒƒå›´çš„并集。 | | expand(value: ScopeType): Scope | 创建并返回包括当å‰èŒƒå›´å’Œç»™å®šå€¼çš„并集。 | | contains(value: ScopeType): boolean | 检查给定value是å¦åŒ…å«åœ¨å½“å‰èŒƒå›´å†…。 | | contains(range: Scope): boolean | 检查给定range是å¦åœ¨å½“å‰èŒƒå›´å†…。 | | clamp(value: ScopeType): ScopeType | 将给定valueé™å®šåˆ°å½“å‰èŒƒå›´å†…。 | | function printf(format: string, ...args: Object[]): string | printf()æ–¹æ³•ä½¿ç”¨ç¬¬ä¸€ä¸ªå‚æ•°ä½œä¸ºæ ¼å¼å—符串(其å¯ä»¥åŒ…å«é›¶ä¸ªæˆ–å¤šä¸ªæ ¼å¼è¯´æ˜Žç¬¦ï¼‰æ¥è¿”å›žæ ¼å¼åŒ–çš„å—符串。 | | function getErrorString(errno: number): string | getErrorString()方法使用一个系统的错误数å—ä½œä¸ºå‚æ•°ï¼Œç”¨æ¥è¿”回系统的错误信æ¯ã€‚ | | function callbackWrapper(original: Function): (err: Object, value: Object) => void | 傿•°ä¸ºä¸€ä¸ªé‡‡ç”¨ async 函数(或返回 Promise 的函数)并返回éµå¾ªé”™è¯¯ä¼˜å…ˆå›žè°ƒé£Žæ ¼çš„函数,å³å°† (err, value) => ... 回调作为最åŽä¸€ä¸ªå‚数。 在回调ä¸ï¼Œç¬¬ä¸€ä¸ªå‚数将是拒ç»åŽŸå› ï¼ˆå¦‚æžœ Promise 已解决,则为 nullï¼‰ï¼Œç¬¬äºŒä¸ªå‚æ•°å°†æ˜¯å·²è§£å†³çš„值。 | | function promiseWrapper(original: (err: Object, value: Object) => void): Object | 傿•°ä¸ºé‡‡ç”¨éµå¾ªå¸¸è§çš„é”™è¯¯ä¼˜å…ˆçš„å›žè°ƒé£Žæ ¼çš„å‡½æ•°ï¼ˆä¹Ÿå°±æ˜¯å°† (err, value) => ... 回调作为最åŽä¸€ä¸ªå‚数),并返回一个返回 promise 的版本。 | | isAnyArrayBuffer(value: Object): boolean | 检查输入的valueæ˜¯å¦æ˜¯ArrayBuffer或SharedArrayBuffer类型。 | | isArrayBufferView(value: Object): boolean | 检查输入的valueæ˜¯å¦æ˜¯napi_int8_array或napi_uint8_array或napi_uint8_clamped_array或napi_int16_array或napi_uint16_array或napi_int32_array或napi_uint32_array或napi_float32_array或napi_float64_array数组或DataView类型。 | | isArgumentsObject(value: Object): boolean | 检查输入的valueæ˜¯å¦æ˜¯ä¸€ä¸ªarguments对象类型。 | | isArrayBuffer(value: Object): boolean | 检查输入的valueæ˜¯å¦æ˜¯ArrayBuffer类型。 | | isAsyncFunction(value: Object): boolean | 检查输入的valueæ˜¯å¦æ˜¯å¼‚æ¥å‡½æ•°ç±»åž‹ã€‚ | | isBigInt64Array(value: Object): boolean | 检查输入的valueæ˜¯å¦æ˜¯BigInt64Array数组类型。 | | isBigUint64Array(value: Object): boolean | 检查输入的valueæ˜¯å¦æ˜¯BigUint64Array数组类型。 | | isBooleanObject(value: Object): boolean | 检查输入的valueæ˜¯å¦æ˜¯ä¸€ä¸ªå¸ƒå°”对象类型。 | | isBoxedPrimitive(value: Object): boolean | 检查输入的valueæ˜¯å¦æ˜¯Boolean或Number或String或Symbol对象类型。 | | isDataView(value: Object): boolean | 检查输入的valueæ˜¯å¦æ˜¯DataView类型。 | | isDate(value: Object): boolean | 检查输入的valueæ˜¯å¦æ˜¯Date类型。 | | isExternal(value: Object): boolean | 检查输入的valueæ˜¯å¦æ˜¯ä¸€ä¸ªnative External值类型。 | | isFloat32Array(value: Object): boolean | 检查输入的valueæ˜¯å¦æ˜¯Float32Array数组类型。 | | isFloat64Array(value: Object): boolean | 检查输入的valueæ˜¯å¦æ˜¯Float64Array数组类型。 | | isGeneratorFunction(value: Object): boolean | 检查输入的valueæ˜¯å¦æ˜¯ä¸€ä¸ªgenerator函数类型。 | | isGeneratorObject(value: Object): boolean | 检查输入的valueæ˜¯å¦æ˜¯ä¸€ä¸ªgenerator对象类型。 | | isInt8Array(value: Object): boolean | 检查输入的valueæ˜¯å¦æ˜¯Int8Array数组类型。 | | isInt16Array(value: Object): boolean | 检查输入的valueæ˜¯å¦æ˜¯Int16Array数组类型。 | | isInt32Array(value: Object): boolean | 检查输入的valueæ˜¯å¦æ˜¯Int32Array数组类型。 | | isMap(value: Object): boolean | 检查输入的valueæ˜¯å¦æ˜¯Map类型。 | | isMapIterator(value: Object): boolean | 检查输入的valueæ˜¯å¦æ˜¯Mapçš„iterator类型。 | | isModuleNamespaceObject(value: Object): boolean | 检查输入的valueæ˜¯å¦æ˜¯Module Namespace Object对象类型。 | | isNativeError(value: Object): boolean | 检查输入的valueæ˜¯å¦æ˜¯Error类型。 | | isNumberObject(value: Object): boolean | 检查输入的valueæ˜¯å¦æ˜¯Number对象类型。 | | isPromise(value: Object): boolean | 检查输入的valueæ˜¯å¦æ˜¯Promise类型。 | | isProxy(value: Object): boolean | 检查输入的valueæ˜¯å¦æ˜¯Proxy类型。 | | isRegExp(value: Object): boolean | 检查输入的valueæ˜¯å¦æ˜¯RegExp类型。 | | isSet(value: Object): boolean | 检查输入的valueæ˜¯å¦æ˜¯Set类型。 | | isSetIterator(value: Object): boolean | 检查输入的valueæ˜¯å¦æ˜¯Setçš„iterator类型。 | | isSharedArrayBuffer(value: Object): boolean | 检查输入的valueæ˜¯å¦æ˜¯SharedArrayBuffer类型。 | | isStringObject(value: Object): boolean | 检查输入的valueæ˜¯å¦æ˜¯ä¸€ä¸ªString对象类型。 | | isSymbolObject(value: Object): boolean | 检查输入的valueæ˜¯å¦æ˜¯ä¸€ä¸ªSymbol对象类型。 | | isTypedArray(value: Object): boolean | 检查输入的valueæ˜¯å¦æ˜¯TypedArray包å«çš„类型。 | | isUint8Array(value: Object): boolean | 检查输入的valueæ˜¯å¦æ˜¯Uint8Array数组类型。 | | isUint8ClampedArray(value: Object): boolean | 检查输入的valueæ˜¯å¦æ˜¯Uint8ClampedArray数组类型。 | | isUint16Array(value: Object): boolean | 检查输入的valueæ˜¯å¦æ˜¯Uint16Array数组类型。 | | isUint32Array(value: Object): boolean | 检查输入的valueæ˜¯å¦æ˜¯Uint32Array数组类型。 | | isWeakMap(value: Object): boolean | 检查输入的valueæ˜¯å¦æ˜¯WeakMap类型。 | | isWeakSet(value: Object): boolean | 检查输入的valueæ˜¯å¦æ˜¯WeakSet类型。 | | add(element: T): boolean | 在ArrayList尾部æ’å…¥å…ƒç´ ã€‚ | | insert(element: T, index: number): void | 在长度范围内任æ„ä½ç½®æ’å…¥æŒ‡å®šå…ƒç´ ã€‚ | | has(element: T): boolean | åˆ¤æ–æ¤ArrayList䏿˜¯å¦å«æœ‰è¯¥æŒ‡å®šå…ƒç´ 。 | | getIndexOf(element: T): number | è¿”å›žæŒ‡å®šå…ƒç´ ç¬¬ä¸€æ¬¡å‡ºçŽ°æ—¶çš„ä¸‹æ ‡å€¼ï¼ŒæŸ¥æ‰¾å¤±è´¥è¿”å›ž-1。 | | removeByIndex(index: number): T | æ ¹æ®å…ƒç´ çš„ä¸‹æ ‡å€¼æŸ¥æ‰¾å…ƒç´ ï¼Œè¿”å›žå…ƒç´ åŽå°†å…¶åˆ 除。 | | remove(element: T): boolean | åˆ é™¤æŸ¥æ‰¾åˆ°çš„ç¬¬ä¸€ä¸ªæŒ‡å®šçš„å…ƒç´ ã€‚ | | getLastIndexOf(element: T): number | è¿”å›žæŒ‡å®šå…ƒç´ æœ€åŽä¸€æ¬¡å‡ºçŽ°æ—¶çš„ä¸‹æ ‡å€¼ï¼ŒæŸ¥æ‰¾å¤±è´¥è¿”å›ž-1。 | | removeByRange(fromIndex: number, toIndex: number): void | ä»Žä¸€æ®µèŒƒå›´å†…åˆ é™¤å…ƒç´ ï¼ŒåŒ…æ‹¬èµ·å§‹å€¼ä½†ä¸åŒ…括终æ¢å€¼ã€‚ | | replaceAllElements(callbackFn: (value: T, index?: number, arrlist?: ArrayList<T>) => T, thisArg?: Object): void | 用户æ“作ArrayListä¸çš„å…ƒç´ ï¼Œç”¨æ“作åŽçš„å…ƒç´ æ›¿æ¢åŽŸå…ƒç´ å¹¶è¿”å›žæ“作åŽçš„å…ƒç´ ã€‚ | | forEach(callbackFn: (value: T, index?: number, arrlist?: ArrayList<T>) => void, thisArg?: Object): void | 通过回调函数æ¥é历ArrayListå®žä¾‹å¯¹è±¡ä¸Šçš„å…ƒç´ ä»¥åŠå…ƒç´ å¯¹åº”çš„ä¸‹æ ‡ã€‚ | | sort(comparator?: (firstValue: T, secondValue: T) => number): void | 对ArrayListä¸çš„å…ƒç´ æŽ’åºã€‚ | | subArrayList(fromIndex: number, toIndex: number): ArrayList<T> | æ ¹æ®ä¸‹æ ‡æˆªå–ArrayListä¸çš„ä¸€æ®µå…ƒç´ ï¼Œå¹¶è¿”å›žè¿™ä¸€æ®µArrayList实例,包括起始值但ä¸åŒ…括终æ¢å€¼ã€‚ | | clear(): void | 清除ArrayListä¸çš„æ‰€æœ‰å…ƒç´ ,并把length置为0。 | | clone(): ArrayList<T> | 克隆一个与ArrayList相åŒçš„实例,并返回克隆åŽçš„实例。修改克隆åŽçš„实例并ä¸ä¼šå½±å“原实例。 | | getCapacity(): number | 获å–当å‰å®žä¾‹çš„容é‡å¤§å°ã€‚ | | convertToArray(): Array<T> | 把当å‰ArrayListå®žä¾‹è½¬æ¢æˆæ•°ç»„,并返回转æ¢åŽçš„æ•°ç»„。 | | isEmpty(): boolean | 判æ–该ArrayList是å¦ä¸ºç©ºã€‚ | | increaseCapacityTo(newCapacity: number): void | å¦‚æžœä¼ å…¥çš„æ–°å®¹é‡å¤§äºŽæˆ–ç‰äºŽArrayListä¸çš„å…ƒç´ ä¸ªæ•°ï¼Œå°†å®¹é‡å˜æ›´ä¸ºæ–°å®¹é‡ã€‚ | | trimToCurrentLength(): void | 把容é‡é™åˆ¶ä¸ºå½“å‰çš„length大å°ã€‚ | | insertFront(element: T): void | 在deque头部æ’å…¥å…ƒç´ ã€‚ | | insertEnd(element: T): void | 在deque尾部æ’å…¥å…ƒç´ ã€‚ | | has(element: T): boolean | åˆ¤æ–æ¤Deque䏿˜¯å¦å«æœ‰è¯¥æŒ‡å®šå…ƒç´ 。 | | getFirst(): T | 获å–Deque实例ä¸çš„å¤´å…ƒç´ ã€‚ | | getLast(): T | 获å–Deque实例ä¸çš„å°¾å…ƒç´ ã€‚ | | popFirst(): T | åˆ é™¤å¹¶è¿”å›žåŒç«¯é˜Ÿåˆ—çš„é¦–å…ƒç´ ã€‚ | | popLast(): T | åˆ é™¤å¹¶è¿”å›žåŒç«¯é˜Ÿåˆ—çš„å°¾å…ƒç´ ã€‚ | | forEach(callbackFn: (value: T, index?: number, deque?: Deque<T>) => void,thisArg?: Object): void | 通过回调函数æ¥é历Dequeå®žä¾‹å¯¹è±¡ä¸Šçš„å…ƒç´ ä»¥åŠå…ƒç´ å¯¹åº”çš„ä¸‹æ ‡ã€‚ | | isEmpty(): boolean | 判æ–该HashMap是å¦ä¸ºç©ºã€‚ | | hasKey(key: K): boolean | åˆ¤æ–æ¤HashMap䏿˜¯å¦å«æœ‰è¯¥æŒ‡å®škey。 | | hasValue(value: V): boolean | åˆ¤æ–æ¤HashMap䏿˜¯å¦å«æœ‰è¯¥æŒ‡å®švalue。 | | get(key: K): V | èŽ·å–æŒ‡å®škey所对应的value。 | | setAll(map: HashMap<K, V>): void | 将一个HashMapä¸çš„æ‰€æœ‰å…ƒç´ ç»„æ·»åŠ åˆ°å¦ä¸€ä¸ªhashMapä¸ã€‚ | | set(key: K, value: V): Object | å‘HashMap䏿·»åŠ ä¸€ç»„æ•°æ®ã€‚ | | remove(key: K): V | åˆ é™¤æŒ‡å®škeyæ‰€å¯¹åº”å…ƒç´ ã€‚ | | clear(): void | 清除HashMapä¸çš„æ‰€æœ‰å…ƒç´ ,并把length置为0。 | | keys(): IterableIterator<K> | è¿”å›žåŒ…å«æ¤æ˜ å°„ä¸åŒ…å«çš„é”®å的新è¿ä»£å™¨å¯¹è±¡ã€‚ | | values(): IterableIterator<V> | è¿”å›žåŒ…å«æ¤æ˜ å°„ä¸åŒ…å«çš„键值的新è¿ä»£å™¨å¯¹è±¡ã€‚ | | replace(key: K, newValue: V): boolean | 对HashMapä¸ä¸€ç»„æ•°æ®è¿›è¡Œæ›´æ–°ï¼ˆæ›¿æ¢ï¼‰ã€‚ | | forEach(callbackFn: (value?: V, key?: K, map?: HashMap<K, V>) => void,thisArg?: Object): void | 通过回调函数æ¥é历HashMapå®žä¾‹å¯¹è±¡ä¸Šçš„å…ƒç´ ä»¥åŠå…ƒç´ å¯¹åº”çš„ä¸‹æ ‡ã€‚ | | entries(): IterableIterator<[K, V]> | è¿”å›žåŒ…å«æ¤æ˜ å°„ä¸åŒ…å«çš„键值对的新è¿ä»£å™¨å¯¹è±¡ã€‚ | | isEmpty(): boolean | 判æ–该HashSet是å¦ä¸ºç©ºã€‚ | | has(value: T): boolean | åˆ¤æ–æ¤HashSet䏿˜¯å¦å«æœ‰è¯¥æŒ‡å®šå…ƒç´ 。 | | add(value: T): boolean | å‘HashSet䏿·»åŠ æ•°æ®ã€‚ | | remove(value: T): boolean | åˆ é™¤æŒ‡å®šçš„å…ƒç´ ã€‚ | | clear(): void | 清除HashSetä¸çš„æ‰€æœ‰å…ƒç´ ,并把length置为0。 | | forEach(callbackFn: (value?: T, key?: T, set?: HashSet<T>) => void,thisArg?: Object): void | 通过回调函数æ¥éåŽ†å®žä¾‹å¯¹è±¡ä¸Šçš„å…ƒç´ ä»¥åŠå…ƒç´ å¯¹åº”çš„ä¸‹æ ‡ã€‚ | | values(): IterableIterator<T> | è¿”å›žåŒ…å«æ¤æ˜ å°„ä¸åŒ…å«çš„键值的新è¿ä»£å™¨å¯¹è±¡ã€‚ | | entries(): IterableIterator<[T, T]> | è¿”å›žåŒ…å«æ¤æ˜ å°„ä¸åŒ…å«çš„键值对的新è¿ä»£å™¨å¯¹è±¡ã€‚ | | hasAll(map: LightWeightMap<K, V>): boolean | åˆ¤æ–æ¤LightWeightMap䏿˜¯å¦å«æœ‰è¯¥æŒ‡å®šmapä¸çš„æ‰€æœ‰å…ƒç´ 。 | | hasKey(key: K): boolean | åˆ¤æ–æ¤LightWeightMap䏿˜¯å¦å«æœ‰è¯¥æŒ‡å®škey。 | | hasValue(value: V): boolean | åˆ¤æ–æ¤LightWeightMap䏿˜¯å¦å«æœ‰è¯¥æŒ‡å®švalue。 | | increaseCapacityTo(minimumCapacity: number): void | 将当å‰LightWeightMap扩容至å¯ä»¥å®¹çº³æŒ‡å®šæ•°é‡å…ƒç´ 。 | | entries(): IterableIterator<[K, V]> | è¿”å›žåŒ…å«æ¤æ˜ å°„ä¸åŒ…å«çš„键值对的新è¿ä»£å™¨å¯¹è±¡ã€‚ | | get(key: K): V | èŽ·å–æŒ‡å®škey所对应的value。 | | getIndexOfKey(key: K): number | 查找keyå…ƒç´ ç¬¬ä¸€æ¬¡å‡ºçŽ°çš„ä¸‹æ ‡å€¼ï¼Œå¦‚æžœæ²¡æœ‰æ‰¾åˆ°è¯¥å…ƒç´ è¿”å›ž-1。 | | getIndexOfValue(value: V): number | 查找valueå…ƒç´ ç¬¬ä¸€æ¬¡å‡ºçŽ°çš„ä¸‹æ ‡å€¼ï¼Œå¦‚æžœæ²¡æœ‰æ‰¾åˆ°è¯¥å…ƒç´ è¿”å›ž-1。 | | isEmpty(): boolean | 判æ–该LightWeightMap是å¦ä¸ºç©ºã€‚ | | getKeyAt(index: number): K | æŸ¥æ‰¾æŒ‡å®šä¸‹æ ‡çš„å…ƒç´ é”®å€¼å¯¹ä¸key值,å¦åˆ™è¿”回undefined。 | | keys(): IterableIterator<K> | è¿”å›žåŒ…å«æ¤æ˜ å°„ä¸åŒ…å«çš„键的新è¿ä»£å™¨å¯¹è±¡ã€‚ | | setAll(map: LightWeightMap<K, V>): void | 将一个LightWeightMapä¸çš„æ‰€æœ‰å…ƒç´ ç»„æ·»åŠ åˆ°å¦ä¸€ä¸ªlightWeightMapä¸ã€‚ | | set(key: K, value: V): Object | å‘LightWeightMap䏿·»åŠ ä¸€ç»„æ•°æ®ã€‚ | | remove(key: K): V | åˆ é™¤å¹¶è¿”å›žæŒ‡å®škeyæ˜ å°„çš„å…ƒç´ ã€‚ | | removeAt(index: number): boolean | åˆ é™¤æŒ‡å®šä¸‹æ ‡å¯¹åº”çš„å…ƒç´ ã€‚ | | clear(): void | 清除LightWeightMapä¸çš„æ‰€æœ‰å…ƒç´ ,并把length置为0。 | | setValueAt(index: number, newValue: V): boolean | æ›¿æ¢æŒ‡å®šä¸‹æ ‡å¯¹åº”键值对ä¸çš„å…ƒç´ ã€‚ | | forEach(callbackFn: (value?: V, key?: K, map?: LightWeightMap<K, V>) => void,thisArg?: Object): void | 通过回调函数æ¥éåŽ†å®žä¾‹å¯¹è±¡ä¸Šçš„å…ƒç´ ä»¥åŠå…ƒç´ å¯¹åº”çš„ä¸‹æ ‡ã€‚ | | [Symbol.iterator](): IterableIterator<[K, V]> | 返回一个è¿ä»£å™¨ï¼Œè¿ä»£å™¨çš„æ¯ä¸€é¡¹éƒ½æ˜¯ä¸€ä¸ª JavaScript 对象,并返回该对象。 | | toString(): String | å°†æ¤æ˜ å°„ä¸åŒ…å«çš„键值对拼接æˆå—符串,并返回å—符串类型。 | | getValueAt(index: number): V | èŽ·å–æŒ‡å®šä¸‹æ ‡å¯¹åº”键值对ä¸çš„å…ƒç´ ã€‚ | | values(): IterableIterator<V> | è¿”å›žåŒ…å«æ¤æ˜ å°„ä¸åŒ…å«çš„键值的新è¿ä»£å™¨å¯¹è±¡ã€‚ | | add(obj: T): boolean | 呿¤å®¹å™¨ä¸æ·»åŠ æ•°æ®ã€‚ | | addAll(set: LightWeightSet<T>): boolean | å°†å¦ä¸€ä¸ªå®¹å™¨ä¸çš„æ‰€æœ‰å…ƒç´ ç»„æ·»åŠ åˆ°å½“å‰å®¹å™¨ä¸ã€‚ | | hasAll(set: LightWeightSet<T>): boolean | åˆ¤æ–æ¤å®¹å™¨ä¸æ˜¯å¦å«æœ‰è¯¥æŒ‡å®šsetä¸çš„æ‰€æœ‰å…ƒç´ 。 | | has(key: T): boolean | åˆ¤æ–æ¤å®¹å™¨ä¸æ˜¯å¦å«æœ‰è¯¥æŒ‡å®škey。 | | equal(obj: Object): boolean | åˆ¤æ–æ¤å®¹å™¨ä¸æ˜¯å¦å«æœ‰è¯¥æŒ‡å®šobjåŒç±»åž‹çš„对象。 | | increaseCapacityTo(minimumCapacity: number): void | 将当å‰å®¹å™¨æ‰©å®¹è‡³å¯ä»¥å®¹çº³æŒ‡å®šæ•°é‡å…ƒç´ 。 | | getIndexOf(key: T): number | èŽ·å–æŒ‡å®škeyæ‰€å¯¹åº”çš„ä¸‹æ ‡ã€‚ | | remove(key: T): T | åˆ é™¤å¹¶è¿”å›žæŒ‡å®škeyå¯¹åº”çš„å…ƒç´ ã€‚ | | removeAt(index: number): boolean | åˆ é™¤æŒ‡å®šä¸‹æ ‡æ‰€å¯¹åº”çš„å…ƒç´ ã€‚ | | clear(): void | 清除容器ä¸çš„æ‰€æœ‰å…ƒç´ ,并把length置为0。 | | forEach(callbackFn: (value?: T, key?: T, set?: LightWeightSet<T>) => void,thisArg?: Object): void | 通过回调函数æ¥é历LightWeightSetå®žä¾‹å¯¹è±¡ä¸Šçš„å…ƒç´ ä»¥åŠå…ƒç´ å¯¹åº”çš„ä¸‹æ ‡ã€‚ | | [Symbol.iterator](): IterableIterator<T> | 返回一个è¿ä»£å™¨ï¼Œè¿ä»£å™¨çš„æ¯ä¸€é¡¹éƒ½æ˜¯ä¸€ä¸ª JavaScript 对象,并返回该对象。 | | toString(): String | 获å–包å«å®¹å™¨ä¸æ‰€æœ‰é”®å’Œå€¼çš„å—符串。 | | toArray(): Array<T> | 获å–åŒ…å«æ¤å®¹å™¨ä¸æ‰€æœ‰å¯¹è±¡çš„æ•°ç»„。 | | getValueAt(index: number): T | èŽ·å–æ¤å®¹å™¨ä¸æŒ‡å®šä¸‹æ ‡å¯¹åº”çš„å…ƒç´ ã€‚ | | values(): IterableIterator<T> | è¿”å›žåŒ…å«æ¤æ˜ å°„ä¸åŒ…å«çš„键值的新è¿ä»£å™¨å¯¹è±¡ã€‚ | | entries(): IterableIterator<[T, T]> | è¿”å›žåŒ…å«æ¤æ˜ å°„ä¸åŒ…å«çš„键值对的新è¿ä»£å™¨å¯¹è±¡ã€‚ | | isEmpty(): boolean | 判æ–该容器是å¦ä¸ºç©ºã€‚ | | add(element: T): boolean | 在LinkedList尾部æ’å…¥å…ƒç´ ã€‚ | | insert(index: number, element: T): void | åœ¨é•¿åº¦èŒƒå›´å†…ä»»æ„æ’å…¥æŒ‡å®šå…ƒç´ ã€‚ | | get(index: number): T | æ ¹æ®ä¸‹æ ‡èŽ·å–LinkedListä¸çš„å…ƒç´ ã€‚ | | addFirst(element: T): void | 在LinkedList头部æ’å…¥å…ƒç´ ã€‚ | | removeFirst(): T | åˆ é™¤å¹¶è¿”å›žLinkedListçš„ç¬¬ä¸€ä¸ªå…ƒç´ ã€‚ | | removeLast(): T | åˆ é™¤å¹¶è¿”å›žLinkedList的最åŽä¸€ä¸ªå…ƒç´ 。 | | has(element: T): boolean | åˆ¤æ–æ¤LinkedList䏿˜¯å¦å«æœ‰è¯¥æŒ‡å®šå…ƒç´ 。 | | getIndexOf(element: T): number | è¿”å›žæŒ‡å®šå…ƒç´ ç¬¬ä¸€æ¬¡å‡ºçŽ°æ—¶çš„ä¸‹æ ‡å€¼ï¼ŒæŸ¥æ‰¾å¤±è´¥è¿”å›ž-1。 | | removeByIndex(index: number): T | æ ¹æ®å…ƒç´ çš„ä¸‹æ ‡å€¼æŸ¥æ‰¾å…ƒç´ ï¼Œè¿”å›žå…ƒç´ åŽå°†å…¶åˆ 除。 | | remove(element: T): boolean | åˆ é™¤æŸ¥æ‰¾åˆ°çš„ç¬¬ä¸€ä¸ªæŒ‡å®šçš„å…ƒç´ ã€‚ | | removeFirstFound(element: T): boolean | åˆ é™¤ç¬¬ä¸€æ¬¡å‡ºçŽ°çš„æŒ‡å®šå…ƒç´ ã€‚ | | removeLastFound(element: T): boolean | åˆ é™¤æœ€åŽä¸€æ¬¡å‡ºçŽ°çš„æŒ‡å®šå…ƒç´ ã€‚ | | getLastIndexOf(element: T): number | è¿”å›žæŒ‡å®šå…ƒç´ æœ€åŽä¸€æ¬¡å‡ºçŽ°æ—¶çš„ä¸‹æ ‡å€¼ï¼ŒæŸ¥æ‰¾å¤±è´¥è¿”å›ž-1。 | | getFirst(): T | 获å–LinkedList实例ä¸çš„ç¬¬ä¸€ä¸ªå…ƒç´ ã€‚ | | getLast(): T | 获å–LinkedList实例ä¸çš„æœ€åŽä¸€ä¸ªå…ƒç´ 。 | | set(index: number, element: T): T | å°†æ¤LinkedList䏿Œ‡å®šä½ç½®çš„å…ƒç´ æ›¿æ¢ä¸ºæŒ‡å®šå…ƒç´ 。 | | forEach(callbackFn: (value: T, index?: number, LinkedList?: LinkedList<T>) => void,thisArg?: Object): void | 通过回调函数æ¥é历LinkedListå®žä¾‹å¯¹è±¡ä¸Šçš„å…ƒç´ ä»¥åŠå…ƒç´ å¯¹åº”çš„ä¸‹æ ‡ã€‚ | | clear(): void | 清除LinkedListä¸çš„æ‰€æœ‰å…ƒç´ ,并把length置为0。 | | clone(): LinkedList<T> | 克隆一个与LinkedList相åŒçš„实例,并返回克隆åŽçš„实例。修改克隆åŽçš„实例并ä¸ä¼šå½±å“原实例。 | | convertToArray(): Array<T> | 把当å‰LinkedListå®žä¾‹è½¬æ¢æˆæ•°ç»„,并返回转æ¢åŽçš„æ•°ç»„。 | | [Symbol.iterator](): IterableIterator<T> | 返回一个è¿ä»£å™¨ï¼Œè¿ä»£å™¨çš„æ¯ä¸€é¡¹éƒ½æ˜¯ä¸€ä¸ª JavaScript 对象,并返回该对象。 | | add(element: T): boolean | 在List尾部æ’å…¥å…ƒç´ ã€‚ | | insert(element: T, index: number): void | 在长度范围内任æ„ä½ç½®æ’å…¥æŒ‡å®šå…ƒç´ ã€‚ | | get(index: number): T | æ ¹æ®ä¸‹æ ‡èŽ·å–Listä¸çš„å…ƒç´ ã€‚ | | has(element: T): boolean | åˆ¤æ–æ¤List䏿˜¯å¦å«æœ‰è¯¥æŒ‡å®šå…ƒç´ 。 | | getIndexOf(element: T): number | æŸ¥æ‰¾æŒ‡å®šå…ƒç´ ç¬¬ä¸€æ¬¡å‡ºçŽ°çš„ä¸‹æ ‡å€¼ï¼ŒæŸ¥æ‰¾å¤±è´¥è¿”å›ž-1。 | | removeByIndex(index: number): T | æ ¹æ®å…ƒç´ çš„ä¸‹æ ‡å€¼æŸ¥æ‰¾å…ƒç´ ï¼Œè¿”å›žå…ƒç´ åŽå°†å…¶åˆ 除。 | | remove(element: T): boolean | åˆ é™¤æŸ¥æ‰¾åˆ°çš„ç¬¬ä¸€ä¸ªæŒ‡å®šçš„å…ƒç´ ã€‚ | | getLastIndexOf(element: T): number | æŸ¥æ‰¾æŒ‡å®šå…ƒç´ æœ€åŽä¸€æ¬¡å‡ºçŽ°çš„ä¸‹æ ‡å€¼ï¼ŒæŸ¥æ‰¾å¤±è´¥è¿”å›ž-1。 | | getFirst(): T | 获å–List实例ä¸çš„ç¬¬ä¸€ä¸ªå…ƒç´ ã€‚ | | getLast(): T | 获å–List实例ä¸çš„æœ€åŽä¸€ä¸ªå…ƒç´ 。 | | set(index: number, element: T): T | å°†æ¤ List 䏿Œ‡å®šä½ç½®çš„å…ƒç´ æ›¿æ¢ä¸ºæŒ‡å®šå…ƒç´ 。 | | equal(obj: Object): boolean | 比较指定对象与æ¤List是å¦ç›¸ç‰ã€‚ | | forEach(callbackFn: (value: T, index?: number, List?: List<T>) => void,thisArg?: Object): void | 通过回调函数æ¥é历Listå®žä¾‹å¯¹è±¡ä¸Šçš„å…ƒç´ ä»¥åŠå…ƒç´ å¯¹åº”çš„ä¸‹æ ‡ã€‚ | | sort(comparator: (firstValue: T, secondValue: T) => number): void | 对Listä¸çš„å…ƒç´ è¿›è¡Œä¸€ä¸ªæŽ’åºæ“作。 | | clear(): void | 清除Listä¸çš„æ‰€æœ‰å…ƒç´ ,并把length置为0。 | | getSubList(fromIndex: number, toIndex: number): List<T> | æ ¹æ®ä¸‹æ ‡æˆªå–Listä¸çš„ä¸€æ®µå…ƒç´ ï¼Œå¹¶è¿”å›žè¿™ä¸€æ®µList实例,包括起始值但ä¸åŒ…括终æ¢å€¼ã€‚ | | replaceAllElements(callbackFn: (value: T, index?: number, list?: List<T>) => T,thisArg?: Object): void;T | 用户æ“作Listä¸çš„å…ƒç´ ,用æ“作åŽçš„å…ƒç´ æ›¿æ¢åŽŸå…ƒç´ å¹¶è¿”å›žæ“作åŽçš„å…ƒç´ ã€‚ | | convertToArray(): Array<T> | 把当å‰Listå®žä¾‹è½¬æ¢æˆæ•°ç»„,并返回转æ¢åŽçš„æ•°ç»„。 | | isEmpty(): boolean | 判æ–该List是å¦ä¸ºç©ºã€‚ | | [Symbol.iterator](): IterableIterator<T> | 返回一个è¿ä»£å™¨ï¼Œè¿ä»£å™¨çš„æ¯ä¸€é¡¹éƒ½æ˜¯ä¸€ä¸ª JavaScript 对象,并返回该对象。 | | add(key: number, value: T): void | å‘容噍䏿·»åŠ ä¸€ç»„æ•°æ®ã€‚ | | clear(): void | 清除容器ä¸çš„æ‰€æœ‰å…ƒç´ ,并把length置为0。 | | clone(): PlainArray<T> | 克隆一个实例,并返回克隆åŽçš„实例。修改克隆åŽçš„实例并ä¸ä¼šå½±å“原实例。 | | has(key: number): boolean | åˆ¤æ–æ¤å®¹å™¨ä¸æ˜¯å¦å«æœ‰è¯¥æŒ‡å®škey。 | | get(key: number): T | èŽ·å–æŒ‡å®škey所对应的value。 | | getIndexOfKey(key: number): number | 查找指定keyç¬¬ä¸€æ¬¡å‡ºçŽ°çš„ä¸‹æ ‡å€¼ï¼Œå¦‚æžœæ²¡æœ‰æ‰¾åˆ°è¯¥key返回-1。 | | getIndexOfValue(value: T): number | 查找指定valueå…ƒç´ ç¬¬ä¸€æ¬¡å‡ºçŽ°çš„ä¸‹æ ‡å€¼ï¼Œå¦‚æžœæ²¡æœ‰æ‰¾åˆ°è¯¥valueå…ƒç´ è¿”å›ž-1。 | | isEmpty(): boolean | 判æ–该容器是å¦ä¸ºç©ºã€‚ | | getKeyAt(index: number): number | æŸ¥æ‰¾æŒ‡å®šä¸‹æ ‡å…ƒç´ é”®å€¼å¯¹ä¸çš„key值。 | | remove(key: number): T | åˆ é™¤æŒ‡å®škeyå¯¹åº”å…ƒç´ ã€‚ | | removeAt(index: number): T | åˆ é™¤æŒ‡å®šä¸‹æ ‡å¯¹åº”çš„å…ƒç´ ã€‚ | | removeRangeFrom(index: number, size: number): number | åˆ é™¤ä¸€å®šèŒƒå›´å†…çš„å…ƒç´ ã€‚ | | setValueAt(index: number, value: T): void | 替æ¢å®¹å™¨ä¸æŒ‡å®šä¸‹æ ‡å¯¹åº”键值对ä¸çš„键值。 | | toString(): String | 获å–包å«å®¹å™¨ä¸æ‰€æœ‰é”®å’Œå€¼çš„å—符串。 | | getValueAt(index: number): T | æŸ¥æ‰¾æŒ‡å®šä¸‹æ ‡å…ƒç´ é”®å€¼å¯¹ä¸çš„Value值,失败返回undefined。 | | forEach(callbackFn: (value: T, index?: number, PlainArray?: PlainArray<T>) => void,thisArg?: Object): void | 通过回调函数æ¥éåŽ†å®žä¾‹å¯¹è±¡ä¸Šçš„å…ƒç´ ä»¥åŠå…ƒç´ å¯¹åº”çš„ä¸‹æ ‡ã€‚ | | [Symbol.iterator](): IterableIterator<[number, T]> | 返回一个包å«key-value键值对的è¿ä»£å™¨å¯¹è±¡ï¼Œå…¶ä¸key是number类型。 | | add(element: T): boolean | 在队列尾部æ’å…¥å…ƒç´ ã€‚ | | getFirst(): T | 获å–é˜Ÿåˆ—çš„å¤´å…ƒç´ ã€‚ | | pop(): T | åˆ é™¤å¤´å…ƒç´ å¹¶è¿”å›žè¯¥åˆ é™¤å…ƒç´ ã€‚ | | forEach(callbackFn: (value: T, index?: number, Queue?: Queue<T>) => void, thisArg?: Object): void; | 通过回调函数æ¥é历Queueå®žä¾‹å¯¹è±¡ä¸Šçš„å…ƒç´ ä»¥åŠå…ƒç´ å¯¹åº”çš„ä¸‹æ ‡ã€‚ | | [Symbol.iterator](): IterableIterator<T> | 返回一个è¿ä»£å™¨ï¼Œè¿ä»£å™¨çš„æ¯ä¸€é¡¹éƒ½æ˜¯ä¸€ä¸ª JavaScript 对象,并返回该对象。 | | isEmpty(): boolean | 判æ–è¯¥æ ˆæ˜¯å¦ä¸ºç©ºã€‚ | | peek(): T | 获å–å¹¶è¿”å›žæ ˆé¡¶å…ƒç´ ã€‚ | | pop(): T | åˆ é™¤æ ˆé¡¶å…ƒç´ å¹¶è¿”å›žè¯¥åˆ é™¤å…ƒç´ ã€‚ | | push(item: T): T | åœ¨æ ˆé¡¶æ’å…¥å…ƒç´ ï¼Œå¹¶è¿”å›žè¯¥å…ƒç´ ã€‚ | | locate(element: T): number | è¿”å›žæŒ‡å®šå…ƒç´ ç¬¬ä¸€æ¬¡å‡ºçŽ°æ—¶çš„ä¸‹æ ‡å€¼ï¼ŒæŸ¥æ‰¾å¤±è´¥è¿”å›ž-1。 | | forEach(callbackFn: (value: T, index?: number, stack?: Stack<T>) => void,thisArg?: Object): void | 通过回调函数æ¥é历Stackå®žä¾‹å¯¹è±¡ä¸Šçš„å…ƒç´ ä»¥åŠå…ƒç´ å¯¹åº”çš„ä¸‹æ ‡ã€‚ | | [Symbol.iterator](): IterableIterator<T> | 返回一个è¿ä»£å™¨ï¼Œè¿ä»£å™¨çš„æ¯ä¸€é¡¹éƒ½æ˜¯ä¸€ä¸ª JavaScript 对象,并返回该对象。 | | isEmpty(): boolean | 判æ–该容器是å¦ä¸ºç©ºã€‚ | | hasKey(key: K): boolean | åˆ¤æ–æ¤å®¹å™¨ä¸æ˜¯å¦å«æœ‰è¯¥æŒ‡å®škey。 | | hasValue(value: V): boolean | åˆ¤æ–æ¤å®¹å™¨ä¸æ˜¯å¦å«æœ‰è¯¥æŒ‡å®švalue。 | | get(key: K): V | èŽ·å–æŒ‡å®škey所对应的value。 | | getFirstKey(): K | 获å–容噍䏿ޒåºç¬¬ä¸€çš„key。 | | getLastKey(): K | 获å–å®¹å™¨ä¸æŽ’åºæœ€åŽçš„key。 | | setAll(map: TreeMap<K, V>): void | 将一个TreeMapä¸çš„æ‰€æœ‰å…ƒç´ ç»„æ·»åŠ åˆ°å¦ä¸€ä¸ªTreeMapä¸ã€‚ | | set(key: K, value: V): Object | å‘容噍䏿·»åŠ ä¸€ç»„æ•°æ®ã€‚ | | remove(key: K): V | åˆ é™¤æŒ‡å®škeyå¯¹åº”çš„å…ƒç´ ã€‚ | | clear(): void | 清除容器ä¸çš„æ‰€æœ‰å…ƒç´ ,并把length置为0。 | | getLowerKey(key: K): K | 获å–容噍䏿¯”ä¼ å…¥key排åºé å‰ä¸€ä½çš„key。 | | getHigherKey(key: K): K | 获å–容噍䏿¯”ä¼ å…¥key排åºé åŽä¸€ä½çš„key。 | | keys(): IterableIterator<K> | è¿”å›žåŒ…å«æ¤æ˜ å°„ä¸åŒ…å«çš„键的新è¿ä»£å™¨å¯¹è±¡ã€‚ | | values(): IterableIterator<V> | è¿”å›žåŒ…å«æ¤æ˜ å°„ä¸é”®å€¼å¯¹çš„æ–°è¿ä»£å™¨å¯¹è±¡ã€‚ | | replace(key: K, newValue: V): boolean | 对容器ä¸ä¸€ç»„æ•°æ®è¿›è¡Œæ›´æ–°ï¼ˆæ›¿æ¢ï¼‰ã€‚ | | forEach(callbackFn: (value?: V, key?: K, map?: TreeMap<K, V>) => void, thisArg?: Object): void; | 通过回调函数æ¥éåŽ†å®žä¾‹å¯¹è±¡ä¸Šçš„å…ƒç´ ä»¥åŠå…ƒç´ å¯¹åº”çš„ä¸‹æ ‡ã€‚ | | entries(): IterableIterator<[K, V]> | è¿”å›žåŒ…å«æ¤æ˜ å°„ä¸é”®å€¼å¯¹çš„æ–°è¿ä»£å™¨å¯¹è±¡ã€‚ | | [Symbol.iterator](): IterableIterator<[K, V]> | 返回一个è¿ä»£å™¨ï¼Œè¿ä»£å™¨çš„æ¯ä¸€é¡¹éƒ½æ˜¯ä¸€ä¸ªJavaScript对象,并返回该对象。 | | isEmpty(): boolean | 判æ–该容器是å¦ä¸ºç©ºã€‚ | | has(value: T): boolean | åˆ¤æ–æ¤å®¹å™¨ä¸æ˜¯å¦å«æœ‰è¯¥æŒ‡å®šå…ƒç´ 。 | | add(value: T): boolean | å‘容噍䏿·»åŠ ä¸€ç»„æ•°æ®ã€‚ | | remove(value: T): boolean | åˆ é™¤æŒ‡å®šçš„å…ƒç´ ã€‚ | | clear(): void | 清除容器ä¸çš„æ‰€æœ‰å…ƒç´ ,并把length置为0。 | | getFirstValue(): T | 获å–容噍䏿ޒåºç¬¬ä¸€çš„æ•°æ®ã€‚ | | getLastValue(): T | 获å–å®¹å™¨ä¸æŽ’åºæœ€åŽçš„æ•°æ®ã€‚ | | getLowerValue(key: T): T | 获å–容噍䏿¯”ä¼ å…¥å…ƒç´ æŽ’åºé å‰ä¸€ä½çš„å…ƒç´ ã€‚ | | getHigherValue(key: T): T | 获å–容噍䏿¯”ä¼ å…¥å…ƒç´ æŽ’åºé åŽä¸€ä½çš„å…ƒç´ ã€‚ | | popFirst(): T | åˆ é™¤å®¹å™¨ä¸æŽ’åºæœ€å‰çš„æ•°æ®ã€‚ | | popLast(): T | åˆ é™¤å®¹å™¨ä¸æŽ’åºæœ€åŽçš„æ•°æ®ã€‚ | | forEach(callbackFn: (value?: T, key?: T, set?: TreeSet<T>) => void, thisArg?: Object): void; | 通过回调函数æ¥éåŽ†å®žä¾‹å¯¹è±¡ä¸Šçš„å…ƒç´ ä»¥åŠå…ƒç´ å¯¹åº”çš„ä¸‹æ ‡ã€‚ | | values(): IterableIterator<T> | è¿”å›žåŒ…å«æ¤æ˜ å°„ä¸é”®å€¼å¯¹çš„æ–°è¿ä»£å™¨å¯¹è±¡ã€‚ | | entries(): IterableIterator<[T, T]> | è¿”å›žåŒ…å«æ¤æ˜ å°„ä¸é”®å€¼å¯¹çš„æ–°è¿ä»£å™¨å¯¹è±¡ã€‚ | | [Symbol.iterator](): IterableIterator<T> | 返回一个è¿ä»£å™¨ï¼Œè¿ä»£å™¨çš„æ¯ä¸€é¡¹éƒ½æ˜¯ä¸€ä¸ªJavaScript对象,并返回该对象。 | printf䏿¯ä¸ªè¯´æ˜Žç¬¦éƒ½æ›¿æ¢ä¸ºæ¥è‡ªç›¸åº”傿•°çš„转æ¢åŽçš„值。 支æŒçš„说明符有: | 弿 ·åŒ–å—符 | 弿 ·è¦æ±‚ | | -------- | -------- | | %s: | String 将用于转æ¢é™¤ BigIntã€Object å’Œ -0 之外的所有值。| | %d: | Number 将用于转æ¢é™¤ BigInt å’Œ Symbol 之外的所有值。| | %i: | parseInt(value, 10) 用于除 BigInt å’Œ Symbol 之外的所有值。| | %f: | parseFloat(value) 用于除 Symbol 之外的所有值。| | %j: | JSON。 å¦‚æžœå‚æ•°åŒ…å«å¾ªçŽ¯å¼•ç”¨ï¼Œåˆ™æ›¿æ¢ä¸ºå—符串 '[Circular]'。| | %o: | Object. 具有通用 JavaScript å¯¹è±¡æ ¼å¼çš„对象的å—符串表示形å¼ã€‚类似于具有选项 { showHidden: true, showProxy: true } çš„ util.inspect()。这将显示完整的对象,包括ä¸å¯æžšä¸¾çš„属性和代ç†ã€‚| | %O: | Object. 具有通用 JavaScript å¯¹è±¡æ ¼å¼çš„对象的å—符串表示形å¼ã€‚类似于没有选项的 util.inspect()。 这将显示完整的对象,但ä¸åŒ…括ä¸å¯æžšä¸¾çš„属性和代ç†ã€‚| | %c: | æ¤è¯´æ˜Žç¬¦è¢«å¿½ç•¥ï¼Œå°†è·³è¿‡ä»»ä½•ä¼ å…¥çš„ CSS 。| | %%: | å•ä¸ªç™¾åˆ†å· ('%')。 è¿™ä¸æ¶ˆè€—待弿 ·åŒ–傿•°ã€‚| #### 2.3.2. 使用说明 儿ޥå£ä½¿ç”¨æ–¹æ³•如下: 1.readonly encoding() ``` import util from '@ohos.util' var textEncoder = new util.TextEncoder(); var getEncoding = textEncoder.encoding(); ``` 2.encode() ``` import util from '@ohos.util' var textEncoder = new util.TextEncoder(); var result = textEncoder.encode('abc'); ``` 3.encodeInto() ``` import util from '@ohos.util' var textEncoder = new util.TextEncoder(); var obj = textEncoder.encodeInto('abc', dest); ``` 4.textDecoder() ``` import util from '@ohos.util' var textDecoder = new util.textDecoder("utf-16be", {fatal : true, ignoreBOM : false}); ``` 5.readonly encoding() ``` import util from '@ohos.util' var textDecoder = new util.textDecoder("utf-16be", {fatal : true, ignoreBOM : false}); var getEncoding = textDecoder.encoding(); ``` 6.readonly fatal() ``` import util from '@ohos.util' var textDecoder = new util.textDecoder("utf-16be", {fatal : true, ignoreBOM : false}); var fatalStr = textDecoder.fatal(); ``` 7.readonly ignoreBOM() ``` import util from '@ohos.util' var textDecoder = new util.textDecoder("utf-16be", {fatal : true, ignoreBOM : false}); var ignoreBom = textDecoder.ignoreBOM(); ``` 8.decode() ``` import util from '@ohos.util' var textDecoder = new util.textDecoder("utf-16be", {fatal : true, ignoreBOM : false}); var result = textDecoder.decode(input, {stream : true}); ``` 9.decodeWithStream() ``` import util from '@ohos.util' var textDecoder = new util.textDecoder("utf-16be", {fatal : true, ignoreBOM : false}); var result = textDecoder.decodeWithStream(input, {stream : true}); ``` 10.printf() ``` import util from '@ohos.util' var format = "%%%o%%%i%s"; var value = function aa(){}; var value1 = 1.5; var value2 = "qwer"; var result = util.printf(format,value,value1,value2); ``` 11.getErrorString() ``` import util from '@ohos.util' var errnum = 13; var result = util.getErrorString(errnum); ``` 12.callbackWrapper() ``` import util from '@ohos.util' async function promiseFn() { return Promise.resolve('value'); }; var cb = util.callbackWrapper(promiseFn); cb((err, ret) => { expect(err).strictEqual(null); expect(ret).strictEqual('value'); }) ``` 13.promiseWrapper() ``` import util from '@ohos.util' function aysnFun(str1, str2, callback) { if (typeof str1 === 'string' && typeof str1 === 'string') { callback(null, str1 + str2); } else { callback('type err'); } } let newPromiseObj = util.promiseWrapper(aysnFun)("Hello", 'World'); newPromiseObj.then(res => { expect(res).strictEqual('HelloWorld'); }) ``` 14.encodeSync() ``` import util from '@ohos.util' var that = new util.Base64(); var array = new Uint8Array([115,49,51]); var result = that.encodeSync(array); ``` 15.encodeToStringSync() ``` import util from '@ohos.util' var that = new util.Base64(); var array = new Uint8Array([115,49,51]); var result = that.encodeToStringSync(array); ``` 16.decodeSync() ``` import util from '@ohos.util' var that = new util.Base64() var buff = 'czEz'; var result = that.decodeSync(buff); ``` 17.encode() ``` import util from '@ohos.util' var that = new util.Base64() var array = new Uint8Array([115,49,51]); await that.encode(array).then(val=>{ }) done() ``` 18.encodeToString() ``` import util from '@ohos.util' var that = new util.Base64() var array = new Uint8Array([115,49,51]); await that.encodeToString(array).then(val=>{ }) done() ``` 19.decode() ``` import util from '@ohos.util' var that = new util.Base64() var buff = 'czEz'; await that.decode(buff).then(val=>{ }) done() ``` 20.createRationalFromString() ``` import util from '@ohos.util' var pro = new util.RationalNumber(0, 0); var res = pro.createRationalFromString("-1:2"); var result1 = res.valueOf(); ``` 21.compareTo() ``` import util from '@ohos.util' var pro = new util.RationalNumber(2, 1); var proc = new util.RationalNumber(3, 4); var res = pro.compareTo(proc); ``` 22.equals() ``` import util from '@ohos.util' var pro = new util.RationalNumber(2, 1); var proc = new util.RationalNumber(3, 4); var res = pro.equals(proc); ``` 23.valueOf() ``` import util from '@ohos.util' var pro = new util.RationalNumber(2, 1); var res = pro.valueOf(); ``` 24.getCommonDivisor() ``` import util from '@ohos.util' var pro = new util.RationalNumber(0, 0); var res = pro.getCommonDivisor(4, 8); ``` 25.getDenominator() ``` import util from '@ohos.util' var pro = new util.RationalNumber(2, 1); var res = pro.getDenominator(); ``` 26.getNumerator() ``` import util from '@ohos.util' var pro = new util.RationalNumber(-2, 1); var res = pro.getNumerator(); ``` 27.isFinite() ``` import util from '@ohos.util' var pro = new util.RationalNumber(-2, 1); var res = pro.isFinite(); ``` 28.isNaN() ``` import util from '@ohos.util' var pro = new util.RationalNumber(-2, 1); var res = pro.isNaN(); ``` 29.isZero() ``` import util from '@ohos.util' var pro = new util.RationalNumber(-2, 1); var res = pro.isZero(); ``` 30.toString() ``` import util from '@ohos.util' var pro = new util.RationalNumber(-2, 1); var res = pro.toString(); ``` 31.updateCapacity() ``` import util from '@ohos.util' var pro = new util.LruBuffer(); var result = pro.updateCapacity(100); ``` 32.toString() ``` import util from '@ohos.util' var pro = new util.LruBuffer(); pro.put(2,10); pro.get(2); pro.remove(20); var result = pro.toString(); ``` 33.values() ``` import util from '@ohos.util' var pro = new util.LruBuffer(); pro.put(2,10); pro.put(2,"anhu"); pro.put("afaf","grfb"); var result = pro.values(); ``` 34.length ``` import util from '@ohos.util' var pro = new util.LruBuffer(); pro.put(2,10); pro.put(1,8); var result = pro.length; ``` 35.getCapacity() ``` import util from '@ohos.util' var pro = new util.LruBuffer(); var result = pro.getCapacity(); ``` 36.clear() ``` import util from '@ohos.util' var pro = new util.LruBuffer(); pro.put(2,10); pro.clear(); ``` 37.getCreateCount() ``` import util from '@ohos.util' var pro = new util.LruBuffer(); pro.put(1,8); var result = pro.getCreateCount(); ``` 38.getMissCount() ``` import util from '@ohos.util' var pro = new util.LruBuffer(); pro.put(2,10); pro.get(2) var result = pro.getMissCount(); ``` 39.getRemovalCount() ``` import util from '@ohos.util' var pro = new util.LruBuffer(); pro.put(2,10); pro.updateCapacity(2); pro.put(50,22); var result = pro.getRemovalCount(); ``` 40.getMatchCount() ``` import util from '@ohos.util' var pro = new util.LruBuffer(); pro.put(2,10); pro.get(2); var result = pro.getMatchCount(); ``` 41.getPutCount() ``` import util from '@ohos.util' var pro = new util.LruBuffer(); pro.put(2,10); var result = pro.getPutCount(); ``` 42.isEmpty() ``` import util from '@ohos.util' var pro = new util.LruBuffer(); pro.put(2,10); var result = pro.isEmpty(); ``` 43.get() ``` import util from '@ohos.util' var pro = new util.LruBuffer(); pro.put(2,10); var result = pro.get(2); ``` 44.put() ``` import util from '@ohos.util' var pro = new util.LruBuffer(); var result = pro.put(2,10); ``` 45.keys() ``` import util from '@ohos.util' var pro = new util.LruBuffer(); pro.put(2,10); var result = pro.keys(); ``` 46.remove() ``` import util from '@ohos.util' var pro = new util.LruBuffer(); pro.put(2,10); var result = pro.remove(20); ``` 47.contains() ``` import util from '@ohos.util' var pro = new util.LruBuffer(); pro.put(2,10); var result = pro.contains(20); ``` 48.createDefault() ``` import util from '@ohos.util' var pro = new util.LruBuffer(); var result = pro.createDefault(50); ``` 49.entries() ``` import util from '@ohos.util' var pro = new util.LruBuffer(); pro.put(2,10); var result = pro.entries(); ``` 50.\[Symbol.iterator\]() ``` import util from '@ohos.util' var pro = new util.LruBuffer(); pro .put(2,10); var result = pro[symbol.iterator](); ``` 51.afterRemoval() ``` import util from '@ohos.util' 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]; } } } ChildLruBuffer.getInstance().afterRemoval(false,10,30,null) ``` Scope接å£ä¸æž„é€ æ–°ç±»ï¼Œå®žçŽ°compareTo方法。 ``` class Temperature { constructor(value) { this._temp = value; } compareTo(value) { return this._temp >= value.getTemp(); } getTemp() { return this._temp; } toString() { return this._temp.toString(); } } ``` 52.constructor() ``` var tempLower = new Temperature(30); var tempUpper = new Temperature(40); var range = new Scope(tempLower, tempUpper); ``` 53.toString() ``` var tempLower = new Temperature(30); var tempUpper = new Temperature(40); var range = new Scope(tempLower, tempUpper); var result = range.toString() // => [30,40] ``` 54.intersect() ``` var tempLower = new Temperature(30); var tempUpper = new Temperature(40); var range = new Scope(tempLower, tempUpper); var tempMiDF = new Temperature(35); var tempMidS = new Temperature(39); var rangeFir = new Scope(tempMiDF, tempMidS); var result = range.intersect(rangeFir) // => [35,39] ``` 55.intersect() ``` var tempLower = new Temperature(30); var tempUpper = new Temperature(40); var tempMiDF = new Temperature(35); var tempMidS = new Temperature(39); var range = new Scope(tempLower, tempUpper); var result = range.intersect(tempMiDF, tempMidS) // => [35,39] ``` 56.getUpper() ``` var tempLower = new Temperature(30); var tempUpper = new Temperature(40); var range = new Scope(tempLower, tempUpper); var result = range.getUpper() // => 40 ``` 57.getLower() ``` var tempLower = new Temperature(30); var tempUpper = new Temperature(40); var range = new Scope(tempLower, tempUpper); var result = range.getLower() // => 30 ``` 58.expand() ``` var tempLower = new Temperature(30); var tempUpper = new Temperature(40); var tempMiDF = new Temperature(35); var tempMidS = new Temperature(39); var range = new Scope(tempLower, tempUpper); var result = range.expand(tempMiDF, tempMidS) // => [30,40] ``` 59.expand() ``` var tempLower = new Temperature(30); var tempUpper = new Temperature(40); var tempMiDF = new Temperature(35); var tempMidS = new Temperature(39); var range = new Scope(tempLower, tempUpper); var rangeFir = new Scope(tempMiDF, tempMidS); var result = range.expand(rangeFir) // => [30,40] ``` 60.expand() ``` var tempLower = new Temperature(30); var tempUpper = new Temperature(40); var tempMiDF = new Temperature(35); var range = new Scope(tempLower, tempUpper); var result = range.expand(tempMiDF) // => [30,40] ``` 61.contains() ``` var tempLower = new Temperature(30); var tempUpper = new Temperature(40); var tempMiDF = new Temperature(35); var range = new Scope(tempLower, tempUpper); var result = range.contains(tempMiDF) // => true ``` 62.contains() ``` var tempLower = new Temperature(30); var tempUpper = new Temperature(40); var range = new Scope(tempLower, tempUpper); var tempLess = new Temperature(20); var tempMore = new Temperature(45); var rangeSec = new Scope(tempLess, tempMore); var result = range.contains(rangeSec) // => true ``` 63.clamp() ``` var tempLower = new Temperature(30); var tempUpper = new Temperature(40); var tempMiDF = new Temperature(35); var range = new Scope(tempLower, tempUpper); var result = range.clamp(tempMiDF) // => 35 ``` 64.isAnyArrayBuffer() ``` import util from '@ohos.util' var proc = new util.Types(); var result = proc.isAnyArrayBuffer(new ArrayBuffer([])) ``` 65.isArrayBufferView() ``` import util from '@ohos.util' var proc = new util.Types(); var result = proc.isArrayBufferView(new DataView(new ArrayBuffer(16))); ``` 66.isArgumentsObject() ``` import util from '@ohos.util' function foo() { var result = proc.isArgumentsObject(arguments); } var f = foo(); ``` 67.isArrayBuffer() ``` import util from '@ohos.util' var proc = new util.Types(); var result = proc.isArrayBuffer(new ArrayBuffer([])); ``` 68.isAsyncFunction() ``` import util from '@ohos.util' var proc = new util.Types(); var result = proc.isAsyncFunction(async function foo() {}); ``` 69.isBigInt64Array() ``` import util from '@ohos.util' var proc = new util.Types(); var result = proc.isBigInt64Array(new Int16Array([])); ``` 70.isBigUint64Array() ``` import util from '@ohos.util' var proc = new util.Types(); var result = proc.isBigUint64Array(new Int16Array([])); ``` 71.isBooleanObject() ``` import util from '@ohos.util' var proc = new util.Types(); var result = proc.isBooleanObject(new Boolean(false)); ``` 72.isBoxedPrimitive() ``` import util from '@ohos.util' var proc = new util.Types(); var result = proc.isBoxedPrimitive(new Boolean(false)); ``` 73.isDataView() ``` import util from '@ohos.util' var proc = new util.Types(); const ab = new ArrayBuffer(20); var result = proc.isDataView(new DataView(ab)); ``` 74.isDate() ``` import util from '@ohos.util' var proc = new util.Types(); var result = proc.isDate(new Date()); ``` 75.isExternal() ``` import util from '@ohos.util' const data = util.createExternalType(); var reult13 = proc.isExternal(data); ``` 76.isFloat32Array() ``` import util from '@ohos.util' var proc = new util.Types(); var result = proc.isFloat32Array(new Float32Array([])); ``` 77.isFloat64Array() ``` import util from '@ohos.util' var proc = new util.Types(); var result = proc.isFloat64Array(new Float64Array([])); ``` 78.isGeneratorFunction() ``` import util from '@ohos.util' var proc = new util.Types(); var result = proc.isGeneratorFunction(function* foo() {}); ``` 79.isGeneratorObject() ``` import util from '@ohos.util' var proc = new util.Types(); function* foo() {} const generator = foo(); var result = proc.isGeneratorObject(generator); ``` 80.isInt8Array() ``` import util from '@ohos.util' var proc = new util.Types(); var result = proc.isInt8Array(new Int8Array([])); ``` 81.isInt16Array() ``` import util from '@ohos.util' var proc = new util.Types(); var result = proc.isInt16Array(new Int16Array([])); ``` 82.isInt32Array() ``` import util from '@ohos.util' var proc = new util.Types(); var result = proc.isInt32Array(new Int32Array([])); ``` 83.isMap() ``` import util from '@ohos.util' var proc = new util.Types(); var result = proc.isMap(new Map()); ``` 84.isMapIterator() ``` import util from '@ohos.util' var proc = new util.Types(); var result = proc.isMapIterator(map.keys()); ``` 85.isModuleNamespaceObject() ``` import util from '@ohos.util' var proc = new util.Types(); var result = proc.isModuleNamespaceObject(util); ``` 86.isNativeError() ``` import util from '@ohos.util' var proc = new util.Types(); var result = proc.isNativeError(new TypeError()); ``` 87.isNumberObject() ``` import util from '@ohos.util' var proc = new util.Types(); var result = proc.isNumberObject(new Number(0)); ``` 88.isPromise() ``` import util from '@ohos.util' var proc = new util.Types(); var result = proc.isPromise(Promise.resolve(42)); ``` 89.isProxy() ``` import util from '@ohos.util' var proc = new util.Types(); const target = {}; const proxy = new Proxy(target, {}); var result = proc.isProxy(proxy); ``` 90.isRegExp() ``` import util from '@ohos.util' var proc = new util.Types(); var result = proc.isRegExp(new RegExp('abc')); ``` 91.isSet() ``` import util from '@ohos.util' var proc = new util.Types(); var result = proc.isSet(new Set()); ``` 92.isSetIterator() ``` import util from '@ohos.util' var proc = new util.Types(); const set = new Set(); var result = proc.isSetIterator(set.keys()); ``` 93.isSharedArrayBuffer() ``` import util from '@ohos.util' var proc = new util.Types(); var result = proc.isSharedArrayBuffer(new ArrayBuffer([])); ``` 94.isStringObject() ``` import util from '@ohos.util' var proc = new util.Types(); var result = proc.isStringObject(new String('foo')); ``` 95.isSymbolObject() ``` import util from '@ohos.util' var proc = new util.Types(); const symbols = Symbol('foo'); var result = proc.isSymbolObject(Object(symbols)); ``` 96.isTypedArray() ``` import util from '@ohos.util' var proc = new util.Types(); var result = proc.isTypedArray(new Float64Array([])); ``` 97.isUint8Array() ``` import util from '@ohos.util' var proc = new util.Types(); var result = proc.isUint8Array(new Uint8Array([])); ``` 98.isUint8ClampedArray() ``` import util from '@ohos.util' var proc = new util.Types(); var result = proc.isUint8ClampedArray(new Uint8ClampedArray([])); ``` 99.isUint16Array() ``` import util from '@ohos.util' var proc = new util.Types(); var result = proc.isUint16Array(new Uint16Array([])); ``` 100.isUint32Array() ``` import util from '@ohos.util' var proc = new util.Types(); var result = proc.isUint32Array(new Uint32Array([])); ``` 101.isWeakMap() ``` import util from '@ohos.util' var proc = new util.Types(); var result = proc.isWeakMap(new WeakMap()); ``` 102.isWeakSet() ``` import util from '@ohos.util' var proc = new util.Types(); var result = proc.isWeakSet(new WeakSet()); ``` 103.add() ``` import ArrayList from "@ohos.util.ArrayList" let arrayList = new ArrayList(); let result = arrayList.add(8); ``` 104.insert() ``` import ArrayList from "@ohos.util.ArrayList" let arrayList = new ArrayList(); arrayList.add("å››"); arrayList.add("三"); arrayList.add(1); arrayList.add("a"); arrayList.insert(8, 2); ``` 105.add() ``` import ArrayList from "@ohos.util.ArrayList" let arrayList = new ArrayList(); arrayList.add("å››"); arrayList.add("三"); arrayList.add(1); arrayList.add("a"); arrayList.insert(8, 2); let result = arrayList.has(8); ``` 106.getIndexOf() ``` import ArrayList from "@ohos.util.ArrayList" let arrayList = new ArrayList(); arrayList.add(1); arrayList.add("三"); arrayList.add(1); arrayList.add("a"); arrayList.insert(1, 2); let result = arrayList.getIndexOf(1); ``` 107.removeByIndex() ``` import ArrayList from "@ohos.util.ArrayList" let arrayList = new ArrayList(); arrayList.add(1); arrayList.add("三"); arrayList.add(1); arrayList.add("a"); let result = arrayList.removeByIndex(2); ``` 108.remove() ``` import ArrayList from "@ohos.util.ArrayList" let arrayList = new ArrayList(); arrayList.add("å››"); arrayList.add("三"); arrayList.add(1); arrayList.add("a"); let result = arrayList.remove("三"); ``` 109.getLastIndexOf() ``` import ArrayList from "@ohos.util.ArrayList" let arrayList = new ArrayList(); arrayList.add("å››"); arrayList.add("三"); arrayList.add(1); arrayList.add("a"); arrayList.add(1); arrayList.add("b"); let result = arrayList.getLastIndexOf(1); ``` 110.removeByRange() ``` import ArrayList from "@ohos.util.ArrayList" let arrayList = new ArrayList(); arrayList.add("å››"); arrayList.add("三"); arrayList.add("a"); arrayList.add("b"); arrayList.add("c"); arrayList.removeByRange(1, 3); ``` 111.replaceAllElements() ``` import ArrayList from "@ohos.util.ArrayList" let arrayList = new ArrayList(); arrayList.add(4); arrayList.add(3); arrayList.add(1); arrayList.add(2); arrayList.add(14); arrayList.replaceAllElements((item, index) => { return (item = 2 * item); }); ``` 112.forEach() ``` import ArrayList from "@ohos.util.ArrayList" let arrayList = new ArrayList(); arrayList.add(4); arrayList.add(3); arrayList.add(1); arrayList.add(2); arrayList.add(14); let arr = []; arrayList.forEach((item, index) => { arr.push(item); }); ``` 113.sort() ``` import ArrayList from "@ohos.util.ArrayList" let arrayList = new ArrayList(); arrayList.add(4); arrayList.add(3); arrayList.add(1); arrayList.add(2); arrayList.add(14); arrayList.sort((a, b) => a - b); ``` 114.subArrayList() ``` import ArrayList from "@ohos.util.ArrayList" let arrayList = new ArrayList(); arrayList.add(4); arrayList.add(3); arrayList.add(1); arrayList.add(2); arrayList.add(14); let result = arrayList.subArrayList(0, 5); ``` 115.clear() ``` import ArrayList from "@ohos.util.ArrayList" let arrayList = new ArrayList(); arrayList.add(4); arrayList.add(3); arrayList.add(1); arrayList.add(2); arrayList.add(14); arrayList.clear(); ``` 116.clone() ``` import ArrayList from "@ohos.util.ArrayList" let arrayList = new ArrayList(); arrayList.add(4); arrayList.add(3); arrayList.add(1); arrayList.add(2); arrayList.add(14); let res = arrayList.clone(); ``` 117.getCapacity() ``` import ArrayList from "@ohos.util.ArrayList" let arrayList = new ArrayList(); arrayList.add(4); arrayList.add(3); arrayList.add(1); arrayList.add(2); arrayList.add(14); let result = arrayList.getCapacity(); ``` 118.convertToArray() ``` import ArrayList from "@ohos.util.ArrayList" let arrayList = new ArrayList(); arrayList.add(4); arrayList.add(3); arrayList.add(1); arrayList.add(2); arrayList.add(14); let arr = arrayList.convertToArray(); ``` 119.isEmpty() ``` import ArrayList from "@ohos.util.ArrayList" let arrayList = new ArrayList(); arrayList.add(4); arrayList.add(3); arrayList.add(1); arrayList.clear(); let result = arrayList.isEmpty(); ``` 120.increaseCapacityTo() ``` import ArrayList from "@ohos.util.ArrayList" let arrayList = new ArrayList(); arrayList.add(4); arrayList.add(3); arrayList.add(1); arrayList.add(2); arrayList.add(14); arrayList.increaseCapacityTo(-1); ``` 121.trimToCurrentLength() ``` import ArrayList from "@ohos.util.ArrayList" let arrayList = new ArrayList(); arrayList.add(4); arrayList.add(3); arrayList.add(1); arrayList.add(2); arrayList.add(14); arrayList.trimToCurrentLength(); ``` 122.insertFront() ``` import Deque from "@ohos.util.Deque" let deque = new Deque(); deque.insertFront("一"); ``` 123.insertEnd() ``` import Deque from "@ohos.util.Deque" let deque = new Deque(); let a = ["a", "b", "c"]; deque.insertEnd(a); ``` 124.has() ``` import Deque from "@ohos.util.Deque" let deque = new Deque(); deque.insertEnd(6); let result = deque.has(6); ``` 125.getFirst() ``` import Deque from "@ohos.util.Deque" let deque = new Deque(); deque.insertFront("$"); let result = deque.getFirst(); ``` 126.getLast() ``` import Deque from "@ohos.util.Deque" let deque = new Deque(); deque.insertFront("$"); let result = deque.getLast(); ``` 127.popFirst() ``` import Deque from "@ohos.util.Deque" let deque = new Deque(); deque.insertFront(6); let result = deque.popFirst(); ``` 128.popLast() ``` import Deque from "@ohos.util.Deque" let deque = new Deque(); deque.insertFront(11); let result = deque.popLast(); ``` 129.forEach() ``` import Deque from "@ohos.util.Deque" let deque = new Deque(); deque.insertEnd(1); deque.insertEnd(2); deque.insertEnd(3); let arr = []; deque.forEach((item, index) => { arr.push(item); }); ``` 130.isEmpty() ``` import HashMap from "@ohos.util.HashMap" let hashMap = new HashMap(); hashMap.set(1, "A"); hashMap.set(2, "B"); let result = hashMap.isEmpty(); ``` 131.hasKey() ``` import HashMap from "@ohos.util.HashMap" let hashMap = new HashMap(); hashMap.set(1, "A"); hashMap.set(2, "B"); hashMap.set(3, "C"); let result = hashMap.hasKey(3); ``` 132.hasValue() ``` import HashMap from "@ohos.util.HashMap" let hashMap = new HashMap(); hashMap.set(1, "A"); hashMap.set(2, "B"); hashMap.set(3, "C"); let result = hashMap.hasValue("C"); ``` 133.get() ``` import HashMap from "@ohos.util.HashMap" let hashMap = new HashMap(); hashMap.set(1, "A"); hashMap.set(2, "B"); hashMap.set(3, "C"); let result = hashMap.get(3); ``` 134.setAll() ``` import HashMap from "@ohos.util.HashMap" let hashMap = new HashMap(); hashMap.set(1, "A"); hashMap.set(2, "B"); hashMap.set(3, "C"); let hashMap1 = new HashMap(); hashMap1.set(1, 1); hashMap1.set(2, 2); hashMap.setAll(hashMap1); ``` 135.set() ``` import HashMap from "@ohos.util.HashMap" let hashMap = new HashMap(); hashMap.set(1, "A"); hashMap.set(2, "B"); hashMap.set(3, "C"); ``` 136.remove() ``` import HashMap from "@ohos.util.HashMap" let hashMap = new HashMap(); hashMap.set(1, "A"); hashMap.set(2, "B"); hashMap.set(3, "C"); let result = hashMap.remove(3); ``` 137.clear() ``` import HashMap from "@ohos.util.HashMap" let hashMap = new HashMap(); hashMap.set(1, "A"); hashMap.set(2, "B"); hashMap.set(3, "C"); hashMap.clear(); ``` 138.keys() ``` import HashMap from "@ohos.util.HashMap" let hashMap = new HashMap(); hashMap.set(1, "A"); hashMap.set(2, "B"); hashMap.set(3, "C"); hashMap.set(4, "D"); hashMap.set(5, "E"); let result = hashMap.keys(); ``` 139.values() ``` import HashMap from "@ohos.util.HashMap" let hashMap = new HashMap(); hashMap.set(1, "A"); hashMap.set(2, "B"); hashMap.set(3, "C"); hashMap.set(4, "D"); hashMap.set(5, "E"); let result = hashMap.values(); ``` 140.replace() ``` import HashMap from "@ohos.util.HashMap" let hashMap = new HashMap(); hashMap.set(1, "A"); hashMap.set(2, "B"); hashMap.set(3, "C"); hashMap.set(4, "D"); hashMap.set(5, "E"); let result = hashMap.replace(2, "G"); ``` 141.forEach() ``` import HashMap from "@ohos.util.HashMap" let hashMap = new HashMap(); hashMap.set(1, "A"); hashMap.set(2, "B"); hashMap.set(3, "C"); hashMap.set(4, "D"); hashMap.set(5, "E"); let vals = []; let keys = []; hashMap.forEach((value, key) => { keys.push(key); vals.push(value); }); ``` 142.entries() ``` import HashMap from "@ohos.util.HashMap" let hashMap = new HashMap(); hashMap.set(1, "A"); hashMap.set(2, "B"); hashMap.set(3, "C"); hashMap.set(4, "D"); hashMap.set(5, "E"); let result = hashMap.entries(); ``` 143.isEmpty() ``` import HashSet from "@ohos.util.HashSet" let hashSet = new HashSet(); hashSet.add(1); hashSet.add(2); let result = hashSet.isEmpty(); ``` 144.has() ``` import HashSet from "@ohos.util.HashSet" let hashSet = new HashSet(); hashSet.add(1); hashSet.add(2); let result = hashSet.has(1); ``` 145.add() ``` import HashSet from "@ohos.util.HashSet" let hashSet = new HashSet(); hashSet.add(1); hashSet.add(2); ``` 146.remove() ``` import HashSet from "@ohos.util.HashSet" let hashSet = new HashSet(); hashSet.add(1); hashSet.add(2); let hashSet = hashSet.remove(1); ``` 147.clear() ``` import HashSet from "@ohos.util.HashSet" let hashSet = new HashSet(); hashSet.add(1); hashSet.add(2); hashSet.clear(); ``` 148.forEach() ``` import HashSet from "@ohos.util.HashSet" let hashSet = new HashSet(); hashSet.add(1); hashSet.add(2); hashSet.add(3); hashSet.add(4); hashSet.add(5); let arr = []; hashSet.forEach((value, index) => { arr.push(value); }); ``` 149.values() ``` import HashSet from "@ohos.util.HashSet" let hashSet = new HashSet(); hashSet.add("A"); hashSet.add("B"); hashSet.add("C"); hashSet.add("D"); hashSet.add("E"); let res = hashSet.values(); ``` 150.entries() ``` import HashSet from "@ohos.util.HashSet" let hashSet = new HashSet(); hashSet.add(1); hashSet.add(2); hashSet.add(3); let res = hashSet.entries(); ``` 151.hasAll() ``` import LightWeightMap from "@ohos.util.LightWeightMap" let lightWeightMap = new LightWeightMap(); lightWeightMap.set("a", "A"); lightWeightMap.set("b", "B"); lightWeightMap.set("c", "C"); lightWeightMap.set("d", "D"); lightWeightMap.set("e", "E"); let lightWeightMap1 = new LightWeightMap(); lightWeightMap1.set("a", "A"); lightWeightMap1.set("d", "D"); let res = lightWeightMap.hasAll(lightWeightMap1); ``` 152.hasKey() ``` import LightWeightMap from "@ohos.util.LightWeightMap" let lightWeightMap = new LightWeightMap(); lightWeightMap.set("a", "A"); lightWeightMap.set("b", "B"); lightWeightMap.set("c", "C"); let res = lightWeightMap.hasKey("a"); ``` 153.hasValue() ``` import LightWeightMap from "@ohos.util.LightWeightMap" let lightWeightMap = new LightWeightMap(); lightWeightMap.set("a", "A"); lightWeightMap.set("b", "B"); lightWeightMap.set("c", "C"); let res = lightWeightMap.hasValue("A"); ``` 154.increaseCapacityTo() ``` import LightWeightMap from "@ohos.util.LightWeightMap" let lightWeightMap = new LightWeightMap(); lightWeightMap.set("a", "A"); lightWeightMap.set("b", "B"); lightWeightMap.set("c", "C"); lightWeightMap.increaseCapacityTo(3); ``` 155.entries() ``` import LightWeightMap from "@ohos.util.LightWeightMap" let lightWeightMap = new LightWeightMap(); lightWeightMap.set(1, "A"); lightWeightMap.set(2, "B"); lightWeightMap.set(3, "C"); let res = lightWeightMap.entries(); ``` 156.get() ``` import LightWeightMap from "@ohos.util.LightWeightMap" let lightWeightMap = new LightWeightMap(); lightWeightMap.set(1, "A"); lightWeightMap.set(2, "B"); lightWeightMap.set(3, "C"); let res = lightWeightMap.get(1); ``` 157.getIndexOfKey() ``` import LightWeightMap from "@ohos.util.LightWeightMap" let lightWeightMap = new LightWeightMap(); lightWeightMap.set(1, "A"); lightWeightMap.set(2, "B"); lightWeightMap.set(3, "C"); let res = lightWeightMap.getIndexOfKey(2); ``` 158.getIndexOfValue() ``` import LightWeightMap from "@ohos.util.LightWeightMap" let lightWeightMap = new LightWeightMap(); lightWeightMap.set(1, "A"); lightWeightMap.set(2, "B"); lightWeightMap.set(3, "C"); lightWeightMap.set(4, "D"); lightWeightMap.set(5, "E"); lightWeightMap.setValueAt(4, "F"); let res = lightWeightMap.getIndexOfValue("F"); ``` 159.isEmpty() ``` import LightWeightMap from "@ohos.util.LightWeightMap" let lightWeightMap = new LightWeightMap(); lightWeightMap.set(1, "A"); lightWeightMap.set(2, "B"); let res = lightWeightMap.isEmpty(); ``` 160.getKeyAt() ``` import LightWeightMap from "@ohos.util.LightWeightMap" let lightWeightMap = new LightWeightMap(); lightWeightMap.set(1, "A"); lightWeightMap.set(2, "B"); lightWeightMap.set(3, "C"); let res = lightWeightMap.getKeyAt(1); ``` 161.keys() ``` import LightWeightMap from "@ohos.util.LightWeightMap" let lightWeightMap = new LightWeightMap(); lightWeightMap.set(1, "A"); lightWeightMap.set(2, "B"); lightWeightMap.set(3, "C"); let res = lightWeightMap.keys(); ``` 161.setAll() ``` import LightWeightMap from "@ohos.util.LightWeightMap" let lightWeightMap = new LightWeightMap(); lightWeightMap.set(1, "A"); lightWeightMap.set(2, "B"); lightWeightMap.set(3, "C"); lightWeightMap.set(4, "D"); lightWeightMap.set(5, "E"); let lightWeightMap1 = new LightWeightMap(); lightWeightMap1.set(6, "A"); lightWeightMap1.set(7, "B"); lightWeightMap.setAll(lightWeightMap1); ``` 162.set() ``` import LightWeightMap from "@ohos.util.LightWeightMap" let lightWeightMap = new LightWeightMap(); lightWeightMap.set(1, "A"); lightWeightMap.set(2, "B"); ``` 163.remove() ``` import LightWeightMap from "@ohos.util.LightWeightMap" let lightWeightMap = new LightWeightMap(); lightWeightMap.set(1, "A"); lightWeightMap.set(2, "B"); let res = lightWeightMap.remove(2); ``` 164.removeAt() ``` import LightWeightMap from "@ohos.util.LightWeightMap" let lightWeightMap = new LightWeightMap(); lightWeightMap.set(1, "A"); lightWeightMap.set(2, "B"); let res = lightWeightMap.removeAt(1); ``` 165.clear() ``` import LightWeightMap from "@ohos.util.LightWeightMap" let lightWeightMap = new LightWeightMap(); lightWeightMap.set(1, "A"); lightWeightMap.set(2, "B"); lightWeightMap.clear(); ``` 166.setValueAt() ``` import LightWeightMap from "@ohos.util.LightWeightMap" let lightWeightMap = new LightWeightMap(); lightWeightMap.set(1, "A"); lightWeightMap.set(2, "B"); lightWeightMap.setValueAt(0, "a"); ``` 167.forEach() ``` import LightWeightMap from "@ohos.util.LightWeightMap" let lightWeightMap = new LightWeightMap(); lightWeightMap.set(1, "A"); lightWeightMap.set(2, "B"); lightWeightMap.set(3, "C"); lightWeightMap.set(4, "D"); lightWeightMap.set(5, "E"); let arr = []; lightWeightMap.forEach((value, index) => { arr.push(value); }); ``` 168.[Symbol.iterator]() ``` import LightWeightMap from "@ohos.util.LightWeightMap" let lightWeightMap = new LightWeightMap(); lightWeightMap.set(1, "A"); lightWeightMap.set(2, "B"); lightWeightMap.set(3, "C"); lightWeightMap.set(4, "D"); lightWeightMap.set(5, "E"); let iters = lightWeightMap[Symbol.iterator](); ``` 169.toString() ``` import LightWeightMap from "@ohos.util.LightWeightMap" let lightWeightMap = new LightWeightMap(); lightWeightMap.set(1, "A"); lightWeightMap.set(2, "B"); lightWeightMap.set(3, "C"); let res = lightWeightMap.toString(); ``` 170.getValueAt() ``` import LightWeightMap from "@ohos.util.LightWeightMap" let lightWeightMap = new LightWeightMap(); lightWeightMap.set(1, "A"); lightWeightMap.set(2, "B"); lightWeightMap.set(3, "C"); let res = lightWeightMap.getValueAt(1); ``` 171.values() ``` import LightWeightMap from "@ohos.util.LightWeightMap" let lightWeightMap = new LightWeightMap(); lightWeightMap.set(1, "A"); lightWeightMap.set(2, "B"); lightWeightMap.set(3, "C"); let res = lightWeightMap.values(); ``` 172.add() ``` import LightWeightSet from "@ohos.util.LightWeightSet" let lightWeightSet = new LightWeightSet(); lightWeightSet.add(1); ``` 173.addAll() ``` import LightWeightSet from "@ohos.util.LightWeightSet" let lightWeightSet = new LightWeightSet(); lightWeightSet.add(1); lightWeightSet.add(2); lightWeightSet.add(3); lightWeightSet.add(4); lightWeightSet.add(5); let lightWeightSet1 = new LightWeightSet(); lightWeightSet1.add(6); lightWeightSet1.add(7); let res1 = lightWeightSet.addAll(lightWeightSet1); ``` 174.hasAll() ``` import LightWeightSet from "@ohos.util.LightWeightSet" let lightWeightSet = new LightWeightSet(); lightWeightSet.add("a"); lightWeightSet.add("b"); lightWeightSet.add("c"); lightWeightSet.add("e"); let lightWeightSet1 = new LightWeightSet(); lightWeightSet1.add("a"); lightWeightSet1.add("d"); let res = lightWeightSet.hasAll(lightWeightSet1); ``` 175.has() ``` import LightWeightSet from "@ohos.util.LightWeightSet" let lightWeightSet = new LightWeightSet(); lightWeightSet.add("a"); lightWeightSet.add("b"); lightWeightSet.add("c"); let res = lightWeightSet.has("a"); ``` 176.equal() ``` import LightWeightSet from "@ohos.util.LightWeightSet" let lightWeightSet = new LightWeightSet(); lightWeightSet.add(1); lightWeightSet.add(2); lightWeightSet.add(3); let obj = [1,2,3]; let res = lightWeightSet.equal(obj); ``` 177.increaseCapacityTo() ``` import LightWeightSet from "@ohos.util.LightWeightSet" let lightWeightSet = new LightWeightSet(); lightWeightSet.add(1); lightWeightSet.add(2); lightWeightSet.add(3); let res = lightWeightSet.increaseCapacityTo(20); ``` 178.getIndexOf() ``` import LightWeightSet from "@ohos.util.LightWeightSet" let lightWeightSet = new LightWeightSet(); lightWeightSet.add(1); lightWeightSet.add(2); lightWeightSet.add(3); let res = lightWeightSet.getIndexOf(2); ``` 179.remove() ``` import LightWeightSet from "@ohos.util.LightWeightSet" let lightWeightSet = new LightWeightSet(); lightWeightSet.add(1); lightWeightSet.add(2); lightWeightSet.add(3); let res = lightWeightSet.remove(1); ``` 180.removeAt() ``` import LightWeightSet from "@ohos.util.LightWeightSet" let lightWeightSet = new LightWeightSet(); lightWeightSet.add(1); lightWeightSet.add(2); lightWeightSet.add(3); let res = lightWeightSet.removeAt(1); ``` 181.clear() ``` import LightWeightSet from "@ohos.util.LightWeightSet" let lightWeightSet = new LightWeightSet(); lightWeightSet.add(1); lightWeightSet.add(2); lightWeightSet.add(3); lightWeightSet.clear(); ``` 182.forEach() ``` import LightWeightSet from "@ohos.util.LightWeightSet" let lightWeightSet = new LightWeightSet(); lightWeightSet.add(1); lightWeightSet.add(2); lightWeightSet.add(3); lightWeightSet.add(4); lightWeightSet.add(5); let arr = []; lightWeightSet.forEach((value, index) => { arr.push(value); }); ``` 183.[Symbol.iterator]() ``` import LightWeightSet from "@ohos.util.LightWeightSet" let lightWeightSet = new LightWeightSet(); lightWeightSet.add(1); lightWeightSet.add(2); lightWeightSet.add(3); let res = lightWeightSet[Symbol.iterator](); ``` 184.toString() ``` import LightWeightSet from "@ohos.util.LightWeightSet" let lightWeightSet = new LightWeightSet(); lightWeightSet.add(1); lightWeightSet.add(2); lightWeightSet.add(3); let res = lightWeightSet.toString(); ``` 185.toArray() ``` import LightWeightSet from "@ohos.util.LightWeightSet" let lightWeightSet = new LightWeightSet(); lightWeightSet.add(1); lightWeightSet.add(2); lightWeightSet.add(3); let res = lightWeightSet.toArray(); ``` 186.getValueAt() ``` import LightWeightSet from "@ohos.util.LightWeightSet" let lightWeightSet = new LightWeightSet(); lightWeightSet.add(1); lightWeightSet.add(2); lightWeightSet.add(3); let res = lightWeightSet.getValueAt(1); ``` 187.values() ``` import LightWeightSet from "@ohos.util.LightWeightSet" let lightWeightSet = new LightWeightSet(); lightWeightSet.add(1); lightWeightSet.add(2); lightWeightSet.add(3); let res = lightWeightSet.values(); ``` 188.entries() ``` import LightWeightSet from "@ohos.util.LightWeightSet" let lightWeightSet = new LightWeightSet(); lightWeightSet.add(1); lightWeightSet.add(2); lightWeightSet.add(3); let res = lightWeightSet.entries(); ``` 189.isEmpty() ``` import LightWeightSet from "@ohos.util.LightWeightSet" let lightWeightSet = new LightWeightSet(); lightWeightSet.add(1); lightWeightSet.add(2); lightWeightSet.add(3); let res = lightWeightSet.isEmpty(); ``` 190.add() ``` import LinkedList from "@ohos.util.LinkedList" let linkedList = new LinkedList(); linkedList.add("å››"); ``` 191.insert() ``` import LinkedList from "@ohos.util.LinkedList" let linkedList = new LinkedList(); linkedList.add("a"); linkedList.add("b"); linkedList.add("c"); linkedList.add("a"); linkedList.add("b"); let res = linkedList.insert(3, "d"); ``` 192.get() ``` import LinkedList from "@ohos.util.LinkedList" let linkedList = new LinkedList(); linkedList.add("a"); linkedList.add("b"); linkedList.add("c"); let res1 = linkedList.get(2); ``` 193.addFirst() ``` import LinkedList from "@ohos.util.LinkedList" let linkedList = new LinkedList(); linkedList.add("a"); linkedList.add("b"); linkedList.add("c"); linkedList.addFirst("e"); ``` 194.removeFirst() ``` import LinkedList from "@ohos.util.LinkedList" let linkedList = new LinkedList(); linkedList.add("a"); linkedList.add("b"); linkedList.add("c"); let res = linkedList.removeFirst(); ``` 195.removeLast() ``` import LinkedList from "@ohos.util.LinkedList" let linkedList = new LinkedList(); linkedList.add("a"); linkedList.add("b"); linkedList.add("c"); let res = linkedList.removeLast(); ``` 196.has() ``` import LinkedList from "@ohos.util.LinkedList" let linkedList = new LinkedList(); linkedList.add("a"); linkedList.add("b"); linkedList.add("c"); let res = linkedList.has(1); ``` 197.getIndexOf() ``` import LinkedList from "@ohos.util.LinkedList" let linkedList = new LinkedList(); linkedList.add("a"); linkedList.add("b"); linkedList.add("c"); let res = linkedList.getIndexOf("b"); ``` 198.removeByIndex() ``` import LinkedList from "@ohos.util.LinkedList" let linkedList = new LinkedList(); linkedList.add("a"); linkedList.add("b"); linkedList.add("c"); let res = linkedList.removeByIndex(2); ``` 199.remove() ``` import LinkedList from "@ohos.util.LinkedList" let linkedList = new LinkedList(); linkedList.add("a"); linkedList.add("b"); linkedList.add("c"); let res = linkedList.remove("a"); ``` 200.removeFirstFound() ``` import LinkedList from "@ohos.util.LinkedList" let linkedList = new LinkedList(); linkedList.add("a"); linkedList.add("b"); linkedList.add("c"); let res = linkedList.removeFirstFound("b"); ``` 201.removeLastFound() ``` import LinkedList from "@ohos.util.LinkedList" let linkedList = new LinkedList(); linkedList.add("a"); linkedList.add("b"); linkedList.add("c"); let res = linkedList.removeLastFound("b"); ``` 202.getLastIndexOf() ``` import LinkedList from "@ohos.util.LinkedList" let linkedList = new LinkedList(); linkedList.add("a"); linkedList.add("b"); linkedList.add("c"); linkedList.add("a"); linkedList.add("b"); linkedList.add("b"); let res = linkedList.getLastIndexOf("a"); ``` 203.getFirst() ``` import LinkedList from "@ohos.util.LinkedList" let linkedList = new LinkedList(); linkedList.add("a"); linkedList.add("b"); linkedList.add("c"); linkedList.add("a"); linkedList.add("b"); linkedList.add("b"); let res = linkedList.getFirst(); ``` 204.getLast() ``` import LinkedList from "@ohos.util.LinkedList" let linkedList = new LinkedList(); linkedList.add("a"); linkedList.add("b"); linkedList.add("c"); linkedList.add("a"); linkedList.add("b"); linkedList.add("b"); let res = linkedList.getLast(); ``` 205.set() ``` import LinkedList from "@ohos.util.LinkedList" let linkedList = new LinkedList(); linkedList.add("a"); linkedList.add("b"); linkedList.add("c"); let res = linkedList.set(2, "d"); ``` 206.forEach() ``` import LinkedList from "@ohos.util.LinkedList" let linkedList = new LinkedList(); linkedList.add(8); linkedList.add("一"); linkedList.add("二"); linkedList.add(5); let c = [1, 2, 3, 4]; linkedList.add(c); linkedList.add(6); linkedList.add("三"); linkedList.add("å››"); let arr = []; linkedList.forEach((item, index) => { arr.push(item); }); ``` 207.clear() ``` import LinkedList from "@ohos.util.LinkedList" let linkedList = new LinkedList(); linkedList.add("a"); linkedList.add("b"); linkedList.add("c"); let res = linkedList.clear(); ``` 208.clone() ``` import LinkedList from "@ohos.util.LinkedList" let linkedList = new LinkedList(); linkedList.add("a"); linkedList.add("b"); linkedList.add("c"); let linkedList1 = linkedList.clone(); ``` 209.convertToArray() ``` import LinkedList from "@ohos.util.LinkedList" let linkedList = new LinkedList(); linkedList.add(4); linkedList.add(3); linkedList.add(1); linkedList.add(2); linkedList.add(14); let res = linkedList.convertToArray(); ``` 210.[Symbol.iterator]() ``` import LinkedList from "@ohos.util.LinkedList" let linkedList = new LinkedList(); linkedList.add("a"); linkedList.add("b"); linkedList.add("c"); linkedList.addFirst("e"); let itr = linkedList[Symbol.iterator](); ``` 211.add() ``` import List from "@ohos.util.List" let list = new List(); list.add("å››"); ``` 212.insert() ``` import List from "@ohos.util.List" let list = new List(); list.add("a"); list.add("b"); list.add("c"); list.add("a"); list.add("b"); let res = list.insert("d", 3); ``` 213.get() ``` import List from "@ohos.util.List" let list = new List(); list.add("a"); list.add("b"); list.add("c"); list.add("a"); let res = list.set(2, "d"); let res1 = list.get(2); ``` 214.has() ``` import List from "@ohos.util.List" let list = new List(); list.add("a"); list.add("b"); let res = list.has(1); ``` 215.getIndexOf() ``` import List from "@ohos.util.List" let list = new List(); list.add("a"); list.add("b"); list.add("c"); list.add("b"); let res = list.getIndexOf("b"); ``` 216.removeByIndex() ``` import List from "@ohos.util.List" let list = new List(); list.add("a"); list.add("b"); list.add("c"); list.add("b"); let res = list.removeByIndex(2); ``` 217.remove() ``` import List from "@ohos.util.List" let list = new List(); list.add("a"); list.add("b"); list.add("c"); list.add("b"); let res = list.remove("a"); ``` 218.getLastIndexOf() ``` import List from "@ohos.util.List" let list = new List(); list.add("a"); list.add("b"); list.add("c"); list.add("b"); let res = list.getLastIndexOf("F"); ``` 219.getFirst() ``` import List from "@ohos.util.List" let list = new List(); list.add("a"); list.add("b"); list.add("c"); list.add("b"); let res = list.getFirst(); ``` 220.getLast() ``` import List from "@ohos.util.List" let list = new List(); list.add("a"); list.add("b"); list.add("c"); list.add("b"); let res = list.getLast(); ``` 221.set() ``` import List from "@ohos.util.List" let list = new List(); list.add("a"); list.add("b"); list.add("c"); list.add("a"); let res = list.set(2, "d"); ``` 222.equal() ``` import List from "@ohos.util.List" let list = new List(); let list1 = new List(); let res = list.equal(list1); ``` 223.forEach() ``` import List from "@ohos.util.List" let list = new List(); let num = 0; list.forEach((item, index) => { num++; }); ``` 224.sort() ``` import List from "@ohos.util.List" let list = new List(); list.add(4); list.add(3); list.add(1); list.sort((a, b) => a - b); ``` 225.clear() ``` import List from "@ohos.util.List" let list = new List(); list.add(4); list.add(3); list.add(1); list.clear(); ``` 226.getSubList() ``` import List from "@ohos.util.List" let list = new List(); list.add(4); list.add(3); list.add(1); list.add(2); list.add(14); let res = list.getSubList(2, 4); ``` 227.replaceAllElements() ``` import List from "@ohos.util.List" let list = new List(); let num = 0; list.replaceAllElements((item, index) => { num++; }); ``` 228.convertToArray() ``` import List from "@ohos.util.List" let list = new List(); const res = list.convertToArray(); ``` 229.isEmpty() ``` import List from "@ohos.util.List" let list = new List(); let res = list.isEmpty(); ``` 230.[Symbol.iterator]() ``` import List from "@ohos.util.List" let list = new List(); list.add("a"); list.add("b"); list.add("c"); let itr = list[Symbol.iterator](); ``` 231.add() ``` import PlainArray from "@ohos.util.PlainArray" let plainArray = new PlainArray(); plainArray.add(1, "A"); ``` 232.clear() ``` import PlainArray from "@ohos.util.PlainArray" let plainArray = new PlainArray(); plainArray.add(1, "A"); plainArray.add(2, "B"); plainArray.add(3, "C"); plainArray.clear(); ``` 233.clone() ``` import PlainArray from "@ohos.util.PlainArray" let plainArray = new PlainArray(); plainArray.add(1, "A"); plainArray.add(2, "B"); plainArray.add(3, "C"); let clonePlainarray = plainArray.clone(); ``` 234.has() ``` import PlainArray from "@ohos.util.PlainArray" let plainArray = new PlainArray(); plainArray.add(1, "A"); plainArray.add(2, "B"); plainArray.add(3, "C"); let res = plainArray.has(6); ``` 235.get() ``` import PlainArray from "@ohos.util.PlainArray" let plainArray = new PlainArray(); plainArray.add(1, "A"); plainArray.add(2, "B"); plainArray.add(3, "C"); let value = plainArray.get(2); ``` 236.getIndexOfKey() ``` import PlainArray from "@ohos.util.PlainArray" let plainArray = new PlainArray(); plainArray.add(1, "A"); plainArray.add(2, "B"); plainArray.add(3, "C"); let res = plainArray.getIndexOfKey(9); ``` 237.getIndexOfValue() ``` import PlainArray from "@ohos.util.PlainArray" let plainArray = new PlainArray(); plainArray.add(1, "A"); plainArray.add(2, "B"); plainArray.add(3, "C"); let res = plainArray.getIndexOfValue("Asad"); ``` 238.isEmpty() ``` import PlainArray from "@ohos.util.PlainArray" let plainArray = new PlainArray(); plainArray.add(1, "A"); plainArray.add(2, "B"); plainArray.add(3, "C"); let res = plainArray.isEmpty(); ``` 239.getKeyAt() ``` import PlainArray from "@ohos.util.PlainArray" let plainArray = new PlainArray(); plainArray.add(1, "A"); plainArray.add(2, "B"); plainArray.add(3, "C"); let res = plainArray.getKeyAt(2); ``` 240.remove() ``` import PlainArray from "@ohos.util.PlainArray" let plainArray = new PlainArray(); plainArray.add(1, "A"); plainArray.add(2, "B"); plainArray.add(3, "C"); let res = plainArray.remove(2); ``` 241.removeAt() ``` import PlainArray from "@ohos.util.PlainArray" let plainArray = new PlainArray(); plainArray.add(1, "A"); plainArray.add(2, "B"); plainArray.add(3, "C"); let res = plainArray.removeAt(2); ``` 242.removeRangeFrom() ``` import PlainArray from "@ohos.util.PlainArray" let plainArray = new PlainArray(); plainArray.add(1, "A"); plainArray.add(2, "B"); plainArray.add(3, "C"); plainArray.removeRangeFrom(2, 2); ``` 243.setValueAt() ``` import PlainArray from "@ohos.util.PlainArray" let plainArray = new PlainArray(); plainArray.add(1, "A"); plainArray.add(2, "B"); plainArray.add(3, "C"); plainArray.setValueAt(2, "V"); ``` 244.toString() ``` import PlainArray from "@ohos.util.PlainArray" let plainArray = new PlainArray(); plainArray.add(1, "A"); plainArray.add(2, "B"); plainArray.add(3, "C"); let res1 = plainArray.toString(); ``` 245.getValueAt() ``` import PlainArray from "@ohos.util.PlainArray" let plainArray = new PlainArray(); plainArray.add(1, "A"); plainArray.add(2, "B"); plainArray.add(3, "C"); let res = plainArray.getValueAt(2); ``` 246.forEach() ``` import PlainArray from "@ohos.util.PlainArray" let plainArray = new PlainArray(); plainArray.add(1, "A"); plainArray.add(2, "B"); plainArray.add(3, "C"); let arr = []; res.forEach((value, index) => { arr.push(value); }); ``` 247.[Symbol.iterator]() ``` import PlainArray from "@ohos.util.PlainArray" let plainArray = new PlainArray(); plainArray.add(1, "A"); plainArray.add(2, "B"); plainArray.add(3, "C"); let iters = plainArray[Symbol.iterator](); ``` 248.add() ``` import Queue from "@ohos.util.Queue" let queue = new Queue(); queue.add("å››"); ``` 249.getFirst() ``` import Queue from "@ohos.util.Queue" let queue = new Queue(); queue.add("å››"); let res = queue.getFirst(); ``` 250.pop() ``` import Queue from "@ohos.util.Queue" let queue = new Queue(); queue.add("å››"); let res = queue.pop(); ``` 251.forEach() ``` import Queue from "@ohos.util.Queue" let queue = new Queue(); queue.add(1); queue.add(2); queue.add(3); queue.add(4); queue.forEach((item, index) => { arr.push(item); }); ``` 252.[Symbol.iterator]() ``` import Queue from "@ohos.util.Queue" let queue = new Queue(); queue.add("å››"); let itr = queue[Symbol.iterator](); ``` 253.isEmpty() ``` import Stack from "@ohos.util.Stack" let stack = new Stack(); stack.push(8); stack.push(5); let res = stack.isEmpty(); ``` 254.peek() ``` import Stack from "@ohos.util.Stack" let stack = new Stack(); stack.push(1234); let res = stack.peek(); ``` 255.pop() ``` import Stack from "@ohos.util.Stack" let stack = new Stack(); stack.push(1234); let res = stack.pop(); ``` 256.push() ``` import Stack from "@ohos.util.Stack" let stack = new Stack(); stack.push(12); ``` 257.locate() ``` import Stack from "@ohos.util.Stack" let stack = new Stack(); stack.push("A"); stack.push("B"); stack.push(1); let res = stack.locate("A"); ``` 258.forEach() ``` import Stack from "@ohos.util.Stack" let stack = new Stack(); stack.push(8); stack.push(5); stack.push(c); stack.push(6); stack.forEach((item, index) => { arr.push(item); }); ``` 259.[Symbol.iterator]() ``` import Stack from "@ohos.util.Stack" let stack = new Stack(); stack.push("A"); stack.push("B"); stack.push(1); let itr = stack[Symbol.iterator](); ``` 260.isEmpty() ``` import TreeMap from "@ohos.util.TreeMap" let treeMap = new TreeMap(); treeMap.set(0, "a"); treeMap.set(1, "b"); let res = treeMap.isEmpty(); ``` 261.hasKey() ``` import TreeMap from "@ohos.util.TreeMap" let treeMap = new TreeMap(); treeMap.set(0, "a"); treeMap.set(1, "b"); let res = treeMap.hasKey(1); ``` 262.hasValue() ``` import TreeMap from "@ohos.util.TreeMap" let treeMap = new TreeMap(); treeMap.set(0, "a"); treeMap.set(1, "b"); let res = treeMap.hasValue("a"); ``` 263.get() ``` import TreeMap from "@ohos.util.TreeMap" let treeMap = new TreeMap(); treeMap.set(0, "a"); treeMap.set(1, "b"); let res = treeMap.get(1); ``` 264.getFirstKey() ``` import TreeMap from "@ohos.util.TreeMap" let treeMap = new TreeMap(); treeMap.set(0, "a"); treeMap.set(1, "b"); let res = treeMap.getFirstKey(); ``` 265.getLastKey() ``` import TreeMap from "@ohos.util.TreeMap" let treeMap = new TreeMap(); treeMap.set(0, "a"); treeMap.set(1, "b"); let res = treeMap.getLastKey(); ``` 266.setAll() ``` import TreeMap from "@ohos.util.TreeMap" let treeMap = new TreeMap(); treeMap.set(0, "a"); treeMap.set(1, "b"); let treeMap1 = new TreeMap(); treeMap1.set(0, "a"); treeMap1.set(1, "b"); treeMap1.set(2, "c"); treeMap.setAll(treeMap1); ``` 267.set() ``` import TreeMap from "@ohos.util.TreeMap" let treeMap = new TreeMap(); treeMap.set(0, "a"); treeMap.set(1, "b"); ``` 268.remove() ``` import TreeMap from "@ohos.util.TreeMap" let treeMap = new TreeMap(); treeMap.set(0, "a"); treeMap.set(1, "b"); let res = treeMap.remove(1); ``` 269.clear() ``` import TreeMap from "@ohos.util.TreeMap" let treeMap = new TreeMap(); treeMap.set(0, "a"); treeMap.set(1, "b"); treeMap.clear(); ``` 270.getLowerKey() ``` import TreeMap from "@ohos.util.TreeMap" let treeMap = new TreeMap(); treeMap.set(0, "a"); treeMap.set(1, "b"); let res = treeMap.getLowerKey(1); ``` 271.getHigherKey() ``` import TreeMap from "@ohos.util.TreeMap" let treeMap = new TreeMap(); treeMap.set(0, "a"); treeMap.set(1, "b"); let res = treeMap.getHigherKey(1); ``` 272.keys() ``` import TreeMap from "@ohos.util.TreeMap" let treeMap = new TreeMap(); treeMap.set(0, "a"); treeMap.set(1, "b"); let res = treeMap.keys(); ``` 273.values() ``` import TreeMap from "@ohos.util.TreeMap" let treeMap = new TreeMap(); treeMap.set(0, "a"); treeMap.set(1, "b"); let res = treeMap.values(); ``` 274.replace() ``` import TreeMap from "@ohos.util.TreeMap" let treeMap = new TreeMap(); treeMap.set(0, "a"); treeMap.set(1, "b"); let res = treeMap.replace(1, "B"); ``` 275.forEach() ``` import TreeMap from "@ohos.util.TreeMap" let treeMap = new TreeMap(); treeMap.set(0, "a"); treeMap.set(1, "b"); treeMap.set(2, "c"); treeMap.set(3, "d"); treeMap.set(4, "g"); let arr1 = []; treeMap.forEach((value, key) => { arr1.push(value); }); ``` 276.entries() ``` import TreeMap from "@ohos.util.TreeMap" let treeMap = new TreeMap(); treeMap.set(0, "a"); treeMap.set(1, "b"); treeMap.set(2, "c"); let entries = treeMap.entries(); ``` 277.[Symbol.iterator]() ``` import TreeMap from "@ohos.util.TreeMap" let treeMap = new TreeMap(); treeMap.set(0, "a"); treeMap.set(1, "b"); treeMap.set(2, "c"); let iters = treeMap[Symbol.iterator](); ``` 278.isEmpty() ``` import TreeSet from "@ohos.util.TreeSet" let treeSet = new TreeSet(); treeSet.add("a"); let res = treeSet.isEmpty(); ``` 279.has() ``` import TreeSet from "@ohos.util.TreeSet" let treeSet = new TreeSet(); treeSet.add("a"); treeSet.add("b"); treeSet.add("c"); let res = treeSet.has("c"); ``` 280.add() ``` import TreeSet from "@ohos.util.TreeSet" let treeSet = new TreeSet(); treeSet.add("a"); treeSet.add("b"); treeSet.add("c"); ``` 281.remove() ``` import TreeSet from "@ohos.util.TreeSet" let treeSet = new TreeSet(); treeSet.add("a"); treeSet.add("b"); treeSet.add("c"); let res = treeSet.remove("c"); ``` 282.clear() ``` import TreeSet from "@ohos.util.TreeSet" let treeSet = new TreeSet(); treeSet.add("a"); treeSet.add("b"); treeSet.add("c"); treeSet.clear(); ``` 283.getFirstValue() ``` import TreeSet from "@ohos.util.TreeSet" let treeSet = new TreeSet(); treeSet.add("a"); treeSet.add("b"); treeSet.add("c"); let res = treeSet.getFirstValue(); ``` 284.getLastValue() ``` import TreeSet from "@ohos.util.TreeSet" let treeSet = new TreeSet(); treeSet.add("a"); treeSet.add("b"); treeSet.add("c"); let res = treeSet.getLastValue(); ``` 285.getLowerValue() ``` import TreeSet from "@ohos.util.TreeSet" let treeSet = new TreeSet(); treeSet.add(0); treeSet.add(1); treeSet.add(2); treeSet.add(3); let res = treeSet.getLowerValue(2); ``` 286.getHigherValue() ``` import TreeSet from "@ohos.util.TreeSet" let treeSet = new TreeSet(); treeSet.add(0); treeSet.add(1); treeSet.add(2); treeSet.add(3); let res = treeSet.getHigherValue(3); ``` 287.popFirst() ``` import TreeSet from "@ohos.util.TreeSet" let treeSet = new TreeSet(); treeSet.add(0); treeSet.add(1); treeSet.add(2); treeSet.add(3); let res = treeSet.popFirst(); ``` 288.popLast() ``` import TreeSet from "@ohos.util.TreeSet" let treeSet = new TreeSet(); treeSet.add(0); treeSet.add(1); treeSet.add(2); treeSet.add(3); let res = treeSet.popLast(); ``` 289.forEach() ``` import TreeSet from "@ohos.util.TreeSet" let treeSet = new TreeSet(); treeSet.add(0); treeSet.add(1); treeSet.add(2); treeSet.add(3); treeSet.add(4); let arr1 = []; treeSet.forEach((value, key) => { arr1.push(value); }); ``` 290.values() ``` import TreeSet from "@ohos.util.TreeSet" let treeSet = new TreeSet(); treeSet.add("a"); treeSet.add("b"); treeSet.add("c"); let res = treeSet.values(); ``` 291.entries() ``` import TreeSet from "@ohos.util.TreeSet" let treeSet = new TreeSet(); treeSet.add("a"); treeSet.add("b"); treeSet.add("c"); let res = treeSet.entries(); ``` 292.[Symbol.iterator]() ``` import TreeSet from "@ohos.util.TreeSet" let treeSet = new TreeSet(); treeSet.add("a"); treeSet.add("b"); treeSet.add("c"); let res = treeSet[Symbol.iterator](); ``` ## 3. js_sys_module忍¡å— ### 3.1. 简介 进程主è¦ç”¨äºŽèŽ·å–进程的相关ID,获å–和修改进程的工作目录,退出和关é—进程。 childprocess 对象å¯ç”¨äºŽåˆ›å»ºæ–°è¿›ç¨‹ã€‚ 主进程å¯ä»¥èŽ·å–åè¿›ç¨‹çš„æ ‡å‡†è¾“å…¥è¾“å‡ºï¼Œå‘é€ä¿¡å·ï¼Œå…³é—å进程。 ### 3.2. 目录 ``` commomlibrary/ets_utils/js_sys_module/ ├── Class:PROCESS # PROCESSç±» ├── Uid # Uid属性 ├── Gid # Gid属性 ├── EUid # EUid属性 ├── EGid # EGid属性 ├── Groups # Groups属性 ├── Pid # Pid属性 ├── Ppid # Ppid属性 ├── chdir() # chdir方法 ├── uptime() # uptime方法 ├── kill() # kill方法 ├── abort() # abort方法 ├── on() # on方法 ├── tid # tid方法 ├── getStartRealtime() # getStartRealtime方法 ├── getAvailableCores() # getAvailableCores方法 ├── getPastCputime() # getPastCputime方法 ├── isIsolatedProcess() # isIsolatedProcess方法 ├── is64Bit() # is64Bit方法 ├── isAppUid() # isAppUid方法 ├── getUidForName() # getUidForName方法 ├── getThreadPriority() # getThreadPriority方法 ├── getSystemConfig() # getSystemConfig方法 ├── getEnvironmentVar() # getEnvironmentVar方法 ├── exit() # exit方法 ├── cwd() # cwd方法 ├── off() # off方法 ├── runCmd() # runCmd方法 └─── Class:CHILDPROCESS # class of CHILDPROCESSç±» ├── close() # close方法 ├── kill() # kill方法 ├── getOutput() # getOutput方法 ├── getErrorOutput() # getErrorOutput方法 ├── wait() # wait方法 ├── killed # killed属性 ├── pid # pid属性 ├── ppid # ppid属性 └── exitCode # exitCode属性 |—— Class:CONSOLE ├── debug() # debug方法 ├── log() # log方法 ├── info() # info方法 ├── warn() # warn方法 ├── error() # error方法 ├── assert() # assert方法 ├── count() # count方法 ├── countReset() # countReset方法 ├── dir() # dir方法 ├── dirxml() # dirxml方法 ├── group() # group方法 ├── groupCollapsed() # groupCollapsed方法 ├── groupEnd() # groupEnd方法 ├── table() # table方法 ├── time() # time方法 ├── timeEnd() # timeEnd方法 ├── timeLog() # timeLog方法 ├── trace() # trace方法 |—— Class:TIMER ├── setInterval() # setInterval方法 ├── setTimeout() # setTimeout方法 ├── clearInterval() # clearInterval方法 ├── clearTimeout() # clearTimeout方法 ``` ### 3.3. 说明 #### 3.3.1. 接å£è¯´æ˜Ž | 接å£å | 说明 | | -------- | -------- | | const uid :number | 返回进程的数å—用户 ID。 | | const gid :number | 返回进程的数å—组 ID。 | | const euid :number | è¿”å›žè¿›ç¨‹çš„æ•°å—æœ‰æ•ˆç”¨æˆ·èº«ä»½ã€‚ | | const egid :number | 返回 node.js è¿›ç¨‹çš„æ•°å—æœ‰æ•ˆç»„ ID。 | | const groups :number[] | 返回具有补充组 ID 的数组。 | | const pid :number | 返回进程的PID。 | | const ppid :number | 返回当å‰è¿›ç¨‹çš„父进程的PID。 | | chdir(dir:string) :void | 更改 node.js 进程的当å‰å·¥ä½œç›®å½•。 | | uptime() :number | 返回当å‰ç³»ç»Ÿå·²ç»è¿è¡Œçš„秒数。 | | Kill(pid:number, signal:number) :boolean | 将信å·å‘é€åˆ°è¯†åˆ«çš„进程PID,true表示å‘逿ˆåŠŸã€‚ | | abort() :void | 导致 node.js 进程立å³é€€å‡ºå¹¶ç”Ÿæˆæ ¸å¿ƒæ–‡ä»¶ã€‚ | | on(type:string ,listener:EventListener) :void | 用于å˜å‚¨ç”¨æˆ·è§¦å‘的事件。 | | exit(code:number):void | 导致 node.js 进程立å³é€€å‡ºã€‚ | | cwd():string | 返回 node.js 进程的当å‰å·¥ä½œç›®å½•。 | | off(type: string): boolean | 清除用户å˜å‚¨çš„事件。 True 表示清算æˆåŠŸã€‚ | | runCmd(command: string, options?: { timeout : number, killSignal : number \| string, maxBuffer : number }): ChildProcess |通过runcmdï¼Œä½ å¯ä»¥fork一个新进程æ¥è¿è¡Œä¸€ä¸ªshell并返回childprocess对象。 ç¬¬ä¸€ä¸ªå‚æ•°command指的是è¦è¿è¡Œçš„shellï¼Œç¬¬äºŒä¸ªå‚æ•°options指的是å进程的一些è¿è¡Œå‚数。 è¿™äº›å‚æ•°ä¸»è¦æ˜¯æŒ‡ timeoutã€killsignal å’Œ maxbuffer。 如果设置了timeout,则å进程会在超时åŽå‘é€killsignalä¿¡å·ã€‚ Maxbuffer 用于é™åˆ¶å¯ä»¥æŽ¥æ”¶çš„æœ€å¤§ stdout å’Œ stderr 大å°ã€‚ | | wait(): Promise\<number> | 用于ç‰å¾…å进程è¿è¡Œå¹¶è¿”回promise对象,其值为å进程的退出ç 。 | | getOutput(): Promise\<Uint8Array> | 用于获å–åè¿›ç¨‹çš„æ ‡å‡†è¾“å‡ºã€‚ | | getErrorOutput(): Promise\<Uint8Array> | 用于获å–åè¿›ç¨‹çš„æ ‡å‡†é”™è¯¯è¾“å‡ºã€‚ | | const tid:number | 返回进程的 TID。 | | getStartRealtime() :number | 获å–从系统å¯åŠ¨åˆ°è¿›ç¨‹å¯åŠ¨æ‰€ç»è¿‡çš„实时时间(以毫秒为å•ä½ï¼‰ã€‚ | | getAvailableCores() :number[] | 获å–å¤šæ ¸è®¾å¤‡ä¸Šå½“å‰è¿›ç¨‹å¯ç”¨çš„ CPU å†…æ ¸ã€‚ | | getPastCputime() :number | 获å–ä»Žè¿›ç¨‹å¼€å§‹åˆ°å½“å‰æ—¶é—´çš„ CPU 时间(以毫秒为å•ä½ï¼‰ã€‚ | | isIsolatedProcess(): boolean | 检查进程是å¦è¢«éš”离。 | | is64Bit(): boolean | 检查进程是å¦åœ¨ 64 ä½çŽ¯å¢ƒä¸è¿è¡Œã€‚ | | isAppUid(v:number): boolean | 检查指定的 uid 是å¦å±žäºŽç‰¹å®šåº”用程åºã€‚ | | getUidForName(v:string): number | æ ¹æ®ç”¨æˆ·å获å–用户所属的用户组ID | | getThreadPriority(v:number): number | æ ¹æ®æŒ‡å®šçš„ TID 获å–线程优先级。 | | getSystemConfig(name:number): number | æ ¹æ®æŒ‡å®šçš„系统é…ç½®å称获å–系统的é…置。 | | getEnvironmentVar(name:string): string | æ ¹æ®çŽ¯å¢ƒå˜é‡çš„å称获å–对应的值。 | | close(): void | ç”¨äºŽå…³é—æ£åœ¨è¿è¡Œçš„å进程。 | | kill(signal: number \| string): void | 用于å‘å进程å‘é€ä¿¡å·ã€‚ | | readonly killed: boolean | è¡¨ç¤ºä¿¡å·æ˜¯å¦å‘逿ˆåŠŸï¼Œtrue表示信å·å‘逿ˆåŠŸã€‚ | | readonly exitCode: number | 表示å进程的退出代ç 。 | | readonly pid: number | 表示å进程ID。 | | readonly ppid: number | 代表主进程ID。 | | debug(message: string, ...arguments: any[]): void | 打å°debugä¿¡æ¯ã€‚ | | log(message: string, ...arguments: any[]): void | 打å°logä¿¡æ¯ã€‚ | | info(message: string, ...arguments: any[]): void | 打å°infoä¿¡æ¯ã€‚ | | warn(message: string, ...arguments: any[]): void | 打å°warnä¿¡æ¯ã€‚ | | error(message: string, ...arguments: any[]): void | 打å°errorä¿¡æ¯ã€‚ | | assert(value?: Object, ...arguments: Object[]): void | è‹¥value为å‡ï¼Œæ‰“å°åŽç»å†…容。 | | count(label?: string): void | 对labelå计数。 | | countReset(label?: string): void | 清除labelå的计数。 | | dir(dir?: Object): void | 打å°å¯¹è±¡å†…容。 | | dirxml(...arguments: Object[]): void | æ‰“å°æ—¥å¿—。 | | group(...arguments: Object[]): void | 缩进一组。 | | groupCollapsed(...arguments: Object[]): void | 缩进一组。 | | groupEnd(): void | å–æ¶ˆç¼©è¿›ä¸€ç»„。 | | table(tableData?: Object): void | ä»¥è¡¨æ ¼å½¢å¼æ‰“å°æ•°æ®ã€‚ | | time(label?: string): void | 开始计时。 | | timeEnd(label?: string): void | 结æŸè®¡æ—¶ã€‚ | | timeLog(label?: string, ...arguments: Object[]): void | 打å°å½“å‰è®¡æ—¶ã€‚ | | trace(...arguments: Object[]): void | 打å°å½“剿 ˆã€‚ | | setInterval(handler: Function \| string, delay: number, ...arguments: any[]): number | 定时调用回调函数。 | | setTimeout(handler: Function \| string, delay?: number, ...arguments: any[]): number | 计时结æŸè°ƒç”¨å›žè°ƒå‡½æ•°ã€‚ | | clearInterval(intervalID?: number): void | 清除定时回调。 | | clearTimeout(timeoutID?: number): void | 清除计时回调。 | #### 3.3.2. 使用说明 儿ޥå£ä½¿ç”¨æ–¹æ³•如下: 1.uid() ``` uid(){ var res = Process.uid; } ``` 2.gid() ``` gid(){ var result = Process.gid; } ``` 3.euid() ``` euid(){ var and = Process.euid; } ``` 4.egid() ``` egid(){ var resb = Process.egid; } ``` 5.groups() ``` groups(){ var answer = Process.groups; } ``` 6.pid() ``` pid(){ var result = Process.pid; } ``` 7.ppid() ``` ppid(){ var result = Process.ppid; } ``` 8.chdir() ``` chdir(){ Process.chdir("123456"); } ``` 9.uptime() ``` uptime(){ var num = Process.uptime(); } ``` 10.kill() ``` kill(){ var ansu = Process.kill(5,23); } ``` 11.abort() ``` abort(){ Process.abort(); } ``` 12.on() ``` on(){ function add(num){ var value = num + 5; return value; } Process.on("add",add); } ``` 13.exit() ``` exit(){ Process.exit(15); } ``` 14.Cwd() ``` Cwd(){ var result = Process.cwd(); } ``` 15.off() ``` off(){ var result = Process.off("add"); } ``` 16.runCmd() ``` runCmd(){ var child = process.runCmd('echo abc') // killSignal can be a number or a string var child = process.runCmd('echo abc;', {killSignal : 'SIGKILL'}); var child = process.runCmd('sleep 5; echo abc;', {timeout : 1, killSignal : 9, maxBuffer : 2}) } ``` 17.wait() ``` wait() { var child = process.runCmd('ls') var status = child.wait(); status.then(val => { console.log(val); }) } ``` 18.getOutput() ``` getOutput(){ var child = process.runCmd('echo bcd;'); var res = child.getOutput(); child.wait(); res.then(val => { console.log(val); }) } ``` 19.getErrorOutput() ``` getErrorOutput(){ var child = process.runCmd('makdir 1.txt'); // execute an error command var res = child.getErrorOutput(); child.wait(); res.then(val => { console.log(val); }) } ``` 20.close() ``` close(){ var child = process.runCmd('ls; sleep 5s;') var result = child.close() } ``` 21.kill() ``` kill(){ var child = process.runCmd('ls; sleep 5s;') var result = child.kill('SIGHUP'); child.wait(); var temp = child.killed; } ``` 22.killed ``` { var child = process.runCmd('ls; sleep 5;') child.kill(3); var killed_ = child.killed; child.wait(); } ``` 23.exitCode ``` { var child = process.runCmd('ls; sleep 5;') child.kill(9); child.wait(); var exitCode_ = child.exitCode; } ``` 24.pid ``` pid { var child = process.runCmd('ls; sleep 5;') var pid_ = child.pid; child.wait(); } ``` 25.ppid ``` ppid { var child = process.runCmd('ls; sleep 5;') var ppid_ = child.ppid; child.wait(); } ``` 26.tid ``` tid(){ var ansu = Process.tid; } ``` 27.isIsolatedProcess() ``` isIsolatedProcess(){ var ansu = Process.isIsolatedProcess()(); } ``` 28.isAppUid() ``` isAppUid(){ var ansu = Process.isAppUid(10000); } ``` 29.is64Bit() ``` is64Bit(){ var ansu = Process.is64Bit(); } ``` 30.getUidForName() ``` getUidForName(){ var buf = "root"; var ansu = Process.getUidForName(buf); } ``` 31.getEnvironmentVar() ``` getEnvironmentVar(){ var ansu = Process.getEnvironmentVar('USER'); } ``` 32.getAvailableCores() ``` getAvailableCores(){ var ansu = Process.getAvailableCores(); } ``` 33.getThreadPriority() ``` getThreadPriority(){ var result = Process.getTid(); var ansu = getThreadPriority(result); } ``` 34.getStartRealtime() ``` getStartRealtime(){ var ansu = Process.getStartRealtime(); } ``` 35.getPastCputime() ``` getPastCputime(){ var ansu = Process.getPastCputime(); } ``` 36.getSystemConfig() ``` getSystemConfig(){ var _SC_ARG_MAX = 0; var ansu = Process.getSystemConfig(_SC_ARG_MAX) } ``` 37.console.debug() ``` console.debug("print debug log"); } ``` 38.console.log() ``` console.debug("print log"); } ``` 39.console.info() ``` console.debug("print info log"); } ``` 40.console.warn() ``` console.debug("print warn log"); } ``` 41.console.error() ``` console.debug("print error log"); } ``` 42.console.assert() ``` for (let number = 2; number <= 5; number++) { console.assert(number % 2 === 0, "error"); } ``` 43.console.count() ``` console.count("myObj"); ``` 44.console.countReset() ``` console.count("myObj"); console.countReset("myObj"); ``` 45.console.dir() ``` function cat(name, age, score){ this.name = name; this.age = age; this.score = score; } var c = new cat("ohos", 2, [6,8,7]); console.dir(c); ``` 46.console.dirxml() ``` console.xml("print log"); ``` 47.console.group() ``` console.group(); ``` 48.console.groupCollapsed() ``` console.groupCollapsed(); ``` 49.console.groupEnd() ``` console.groupEnd(); ``` 50.console.table() ``` var languages = { csharp: { name: "C#", paradigm: "undefined" }, fsharp: { name: "F#", paradigm: "functional" } }; console.table(languages); ``` 51.console.time() ``` console.time("timer1"); ``` 52.console.timeEnd() ``` console.time("timer1"); console.timeEnd("timer1"); ``` 53.console.timeLog() ``` console.time("timer1"); console.timeLog("timer1"); ``` 54.console.trace() ``` console.trace(); ``` 55.setInterval() ``` function callback() { console.log("setInterval"); }; setInterval(callback, 100); ``` 55.setTimeout() ``` function callback() { console.log("setTimeout"); }; setTimeout(callback, 100); ``` 55.clearInterval() ``` function callback() { console.log("clearInterval"); }; var myVar = setInterval(callback, 1000); clearInterval(myVar); ``` 56.clearTimeout() ``` function callback() { console.log("clearTimeout"); }; var myVar = setTimeout(callback, 1000); clearTimeout(myVar); ``` ## 4. js_concurrent_module忍¡å— ### 4.1. 简介 worker能够让js拥有多线程的能力,通过postMessage完æˆworker线程与宿主线程通信。 ### 4.2. 接å£è¯´æ˜Ž 接å£å®žçŽ°è¯¦è§ï¼šjs_concurrent_module/worker #### 4.2.1. Worker对象æè¿° 宿主线程用于与worker线程通信的Object对象。 ##### 4.2.1.1. æŽ¥å£ 1. - 接å£å |constructor(scriptURL:string, options?:WorkerOptions) | æž„é€ å‡½æ•° | |---|---| - 使用示例 通过判æ–å˜æ”¾worker.tsçš„workers目录是å¦ä¸Žpages目录åŒçº§ï¼ˆä»¥ä¸‹ç®€ç§°ç›®å½•åŒçº§ï¼‰å’Œåˆ›å»ºé¡¹ç›®çš„æ¨¡åž‹ç±»åˆ«ï¼Œå…±æœ‰ä»¥ä¸‹å››ç§æ–°å»ºWorker的方å¼ï¼š (1) FA模型: 目录åŒçº§ ``` import worker from "@ohos.worker"; const workerInstance = new worker.Worker("workers/worker.js", {name:"first worker"}); ``` (2) FA模型: 目录ä¸åŒçº§ï¼ˆä»¥workers目录放置pages目录å‰ä¸€çº§ä¸ºä¾‹ï¼‰ ``` import worker from "@ohos.worker"; const workerInstance = new worker.Worker("../workers/worker.js", {name:"first worker"}); ``` (3) Stage模型: 目录åŒçº§ ``` import worker from "@ohos.worker"; const workerInstance = new worker.Worker('entry/ets/workers/worker.ts'); ``` (4) Stage模型: 目录ä¸åŒçº§ï¼ˆä»¥workers目录放置pages目录åŽä¸€çº§ä¸ºä¾‹ï¼‰ ``` import worker from "@ohos.worker"; const workerInstance = new worker.Worker('entry/ets/pages/workers/worker.ts'); ``` 对于Stage模型ä¸scriptURL——"entry/ets/workers/worker.ts"的解释: - entry: 为module.json5ä¸moduleä¸name属性的值; - ets: 表明当å‰å·¥ç¨‹ä½¿ç”¨çš„è¯è¨€ï¼› - worker.ts: 创建worker.ts文件或者worker.js文件都å¯ä»¥ã€‚ å¦å¤–,需在工程的模å—级build-profile.json5文件的buildOptionå±žæ€§ä¸æ·»åŠ é…置信æ¯ï¼Œä¸»è¦åˆ†ä¸ºä¸‹é¢ä¸¤ç§æƒ…况: (1) 目录åŒçº§(**æ¤æƒ…况䏿·»åŠ äº¦å¯**) FA模型: ``` "buildOption": { "sourceOption": { "workers": [ "./src/main/ets/MainAbility/workers/worker.js" ] } } ``` Stage模型: ``` "buildOption": { "sourceOption": { "workers": [ "./src/main/ets/workers/worker.ts" ] } } ``` (2) 目录ä¸åŒçº§(**æ¤æƒ…å†µå¿…é¡»æ·»åŠ **) FA模型: ``` "buildOption": { "sourceOption": { "workers": [ "./src/main/ets/workers/worker.js" ] } } ``` Stage模型(workers目录放在pages目录里为例): ``` "buildOption": { "sourceOption": { "workers": [ "./src/main/ets/pages/workers/worker.ts" ] } } ``` 2. - 接å£å | postMessage(message:Object, options?:PostMessageOptions) | å‘worker线程å‘逿¶ˆæ¯ | |---|---| | postMessage(message:Object, transfer:ArrayBuffer[]) | å‘worker线程å‘逿¶ˆæ¯ | - 使用示例 ``` // 示例一 import worker from "@ohos.worker" const worker = new worker.Worker("workers/worker.js"); worker.postMessage("hello world"); // 示例二 import worker from "@ohos.worker" const worker = new worker.Worker("workers/worker.js"); var buffer = new ArrayBuffer(8); worker.postMessage(buffer, [buffer]); ``` 3. - 接å£å | on(type:string, listener:EventListener) | å‘workeræ·»åŠ ä¸€ä¸ªäº‹ä»¶ç›‘å¬ | |---|---| - 使用示例 ``` import worker from "@ohos.worker" const worker = new worker.Worker("workers/worker.js"); worker.on("alert", (e)=>{ console.log("worker on..."); }); ``` 4. - 接å£å | once(type:string, listener:EventListener) | å‘workeræ·»åŠ ä¸€ä¸ªäº‹ä»¶ç›‘å¬, 事件监å¬åªæ‰§è¡Œä¸€æ¬¡ä¾¿è‡ªåŠ¨åˆ é™¤ | |---|---| - 使用示例 ``` import worker from "@ohos.worker" const worker = new worker.Worker("workers/worker.js"); worker.once("alert", (e)=>{ console.log("worker once..."); }); ``` 5. - 接å£å | off(type:string, listener?:EventListener) | åˆ é™¤workerçš„äº‹ä»¶ç›‘å¬ | |---|---| - 使用示例 ``` import worker from "@ohos.worker" const worker = new worker.Worker("workers/worker.js"); worker.off("alert"); ``` 6. - 接å£å | terminate() | å…³é—worker线程,终æ¢workerå‘逿¶ˆæ¯ | |---|---| - 使用示例 ``` import worker from "@ohos.worker" const worker = new worker.Worker("workers/worker.js"); worker.terminate(); ``` 7. - 接å£å | removeEventListener(type:string, listener?:EventListener) | åˆ é™¤workerçš„äº‹ä»¶ç›‘å¬ | |---|---| - 使用示例 ``` import worker from "@ohos.worker" const worker = new worker.Worker("workers/worker.js"); worker.removeEventListener("alert", (e)=>{ console.log("worker removeEventListener..."); }); ``` 8. - 接å£å | dispatchEvent(event: Event) | 分å‘定义在worker的事件 | |---|---| - 使用示例 ``` import worker from "@ohos.worker" const worker = new worker.Worker("workers/worker.js"); worker.dispatchEvent({type:"alert"}); ``` 9. - 接å£å | removeAllListener() | åˆ é™¤workerçš„æ‰€æœ‰äº‹ä»¶ç›‘å¬ | |---|---| - 使用示例 ``` import worker from "@ohos.worker" const worker = new worker.Worker("workers/worker.js"); worker.removeAllListener(); ``` ##### 4.2.1.2. 属性 1. - 属性å | onexit?:(code:number)=>void | worker退出时被调用的事件处ç†ç¨‹åºï¼Œå¤„ç†ç¨‹åºåœ¨å®¿ä¸»çº¿ç¨‹ä¸æ‰§è¡Œ | |---|---| - 使用示例 ``` import worker from "@ohos.worker" const worker = new worker.Worker("workers/worker.js"); worker.onexit = function(e) { console.log("onexit..."); } ``` 2. - 属性å | onerror?:(ev:ErrorEvent)=>void | worker在执行过程ä¸å‘生异常被调用的事件处ç†ç¨‹åºï¼Œå¤„ç†ç¨‹åºåœ¨å®¿ä¸»çº¿ç¨‹ä¸æ‰§è¡Œ | |---|---| - 使用示例 ``` import worker from "@ohos.worker" const worker = new worker.Worker("workers/worker.js"); worker.onerror = function(e) { console.log("onerror..."); } ``` 3. - 属性å | onmessage?:(ev:MessageEvent)=>void | 宿主线程收到æ¥è‡ªå…¶åˆ›å»ºçš„worker通过parentPort.postMessage接å£å‘é€çš„æ¶ˆæ¯æ—¶è¢«è°ƒç”¨çš„事件处ç†ç¨‹åºï¼Œ 处ç†ç¨‹åºåœ¨å®¿ä¸»çº¿ç¨‹ä¸æ‰§è¡Œ | |---|---| - 使用示例 ``` import worker from "@ohos.worker" const worker = new worker.Worker("workers/worker.js"); worker.onmessage = function(e) { console.log("onmessage..."); } ``` 4. - 属性å | onmessageerror?:(event:MessageEvent)=>void | workerå¯¹è±¡æŽ¥æ”¶åˆ°ä¸€æ¡æ— 法åºåˆ—åŒ–çš„æ¶ˆæ¯æ—¶è¢«è°ƒç”¨çš„事件处ç†ç¨‹åºï¼Œ 处ç†ç¨‹åºåœ¨å®¿ä¸»çº¿ç¨‹ä¸æ‰§è¡Œ | |---|---| - 使用示例 ``` import worker from "@ohos.worker" const worker = new worker.Worker("workers/worker.js"); worker.onmessageerror = function(e) { console.log("onmessageerror..."); } ``` #### 4.2.2. parentPort对象æè¿° worker线程用于与宿主线程通信的Object对象。 ##### 4.2.2.1. æŽ¥å£ 1. - 接å£å | postMessage(message:Object, options?:PostMessageOptions) | å‘宿主线程å‘逿¶ˆæ¯ | |---|---| | postMessage(message:Object, transfer:ArrayBuffer[]) | å‘宿主线程å‘逿¶ˆæ¯ | - 使用示例 ``` // main.js import worker from "@ohos.worker" const worker = new worker.Worker("workers/worker.js"); worker.postMessage("hello world"); // worker.js import worker from "@ohos.worker" const parentPort = worker.parentPort; parentPort.onmessage = function(e) { parentPort.postMessage("hello world from worker.js"); } ``` 2. - 接å£å | close() | å…³é—worker线程,终æ¢workeræŽ¥æ”¶æ¶ˆæ¯ | |---|---| - 使用示例 ``` // main.js import worker from "@ohos.worker" const worker = new worker.Worker("workers/worker.js"); worker.postMessage("hello world"); // worker.js import worker from "@ohos.worker" const parentPort = worker.parentPort; parentPort.onmessage = function(e) { parentPort.close(); } ``` ##### 4.2.2.2. 属性 1. - 属性å | onmessage?:(event:MessageEvent)=>void | 宿主线程收到æ¥è‡ªå…¶åˆ›å»ºçš„worker通过worker.postMessage接å£å‘é€çš„æ¶ˆæ¯æ—¶è¢«è°ƒç”¨çš„事件处ç†ç¨‹åºï¼Œå¤„ç†ç¨‹åºåœ¨workerçº¿ç¨‹ä¸æ‰§è¡Œ | |---|---| - 使用示例 ``` // main.js import worker from "@ohos.worker" const worker = new worker.Worker("workers/worker.js"); worker.postMessage("hello world"); // worker.js import worker from "@ohos.worker" const parentPort = worker.parentPort; parentPort.onmessage = function(e) { console.log("receive main.js message"); } ``` 2. - 属性å | onerror?:(ev: ErrorEvent)=>void | worker在执行过程ä¸å‘生异常被调用的事件处ç†ç¨‹åºï¼Œå¤„ç†ç¨‹åºåœ¨workerçº¿ç¨‹ä¸æ‰§è¡Œ | |---|---| - 使用示例 ``` // main.js import worker from "@ohos.worker" const worker = new worker.Worker("workers/worker.js"); worker.postMessage("hello world"); // worker.js import worker from "@ohos.worker" const parentPort = worker.parentPort; parentPort.onerror = function(e) { console.log("onerror..."); } ``` 3. - 属性å | onmessageerror?:(event: MessageEvent)=>void | workerå¯¹è±¡æŽ¥æ”¶åˆ°ä¸€æ¡æ— 法被ååºåˆ—åŒ–çš„æ¶ˆæ¯æ—¶è¢«è°ƒç”¨çš„事件处ç†ç¨‹åºï¼Œ 处ç†ç¨‹åºåœ¨workerçº¿ç¨‹ä¸æ‰§è¡Œ | |---|---| - 使用示例 ``` // main.js import worker from "@ohos.worker" const worker = new worker.Worker("workers/worker.js"); worker.postMessage("hello world"); // worker.js import worker from "@ohos.worker" const parentPort = worker.parentPort; parentPort.onmessageerror = function(e) { console.log("onmessageerror..."); } ``` ### 4.3. 涉åŠä»“ [arkcompiler_ets_runtime](https://gitee.com/openharmony/arkcompiler_ets_runtime/blob/master/README_zh.md) [arkui_ace_engine](https://gitee.com/openharmony/arkui_ace_engine/blob/master/README_zh.md) [arkui_napi](https://gitee.com/openharmony/arkui_napi/blob/master/README_zh.md) # 相关仓 [ets_utilså系统](https://gitee.com/openharmony/commonlibrary_ets_utils/blob/master/README.md)