Baseline Widely available *
String
对象ç¨äºè¡¨ç¤ºåæä½å符åºåã
å符串对äºä¿åå¯ä»¥ä»¥ææ¬å½¢å¼è¡¨ç¤ºçæ°æ®å¾æç¨ãä¸äºæå¸¸ç¨çå符串æä½æ¯æ£æ¥å®ä»¬çé¿åº¦ï¼ä½¿ç¨ + å += å符串è¿ç®ç¬¦æ¥æå»ºåè¿æ¥å®ä»¬ï¼ä½¿ç¨ indexOf()
æ¹æ³æ£æ¥åå符串çå卿è
ä½ç½®ï¼æä½¿ç¨ substring()
æ¹æ³æååå符串ã
å符串å¯ä»¥éè¿å符串åé¢éå建为åå§å¼ï¼ä¹å¯ä»¥éè¿ String()
æé 彿°å建为å符串对象ï¼
const string1 = "A string primitive";
const string2 = 'Also a string primitive';
const string3 = `Yet another string primitive`;
const string4 = new String("A String object");
å符串åå§å¼ååç¬¦ä¸²å¯¹è±¡å ±äº«å¾å¤è¡ä¸ºï¼ä½ä¹æå ¶ä»éè¦çåºå«å注æäºé¡¹ã请åé ä¸é¢çâå符串åå§å¼åå符串对象âã
å符串åé¢éå¯ä»¥ä½¿ç¨åå¼å·æè åå¼å·æå®ï¼å®ä»¬çå¤çæ¹å¼ç¸åï¼æè 使ç¨åå¼å·å符 `ãæåä¸ç§å½¢å¼æå®äºæ¨¡æ¿å符串ï¼ä½ å¯ä»¥å¨å ¶ä¸æå ¥è¡¨è¾¾å¼ãæå ³å符串åé¢éè¯æ³çæ´å¤ä¿¡æ¯ï¼è¯·åè§è¯æ³è¯æ³ã
访é®å符æä¸¤ç§æ¹å¼è®¿é®å符串ä¸çå个å符ãé¦å
æ¯ charAt()
æ¹æ³ï¼
"cat".charAt(1); // gives value "a"
å¦ä¸ä¸ªæ¹å¼æ¯å°å符串è§ä¸ºç±»æ°ç»å¯¹è±¡ï¼å ¶ä¸å个å符对åºäºä¸ä¸ªæ°åç´¢å¼ï¼
"cat"[1]; // gives value "a"
å½ä½¿ç¨æ¹æ¬å·è¡¨ç¤ºæ³è¿è¡åç¬¦ä¸²è®¿é®æ¶ï¼å°è¯å é¤æä¸ºå
¶èµå¼çè¡ä¸ºå°ä¸æåãæ¶åç屿§æ¢ä¸å¯åï¼writableï¼ä¹ä¸å¯é
ç½®ï¼configurableï¼ï¼æ´å¤ç»èï¼è¯·åè§ Object.defineProperty()
ï¼ã
使ç¨å°äºå大äºè¿ç®ç¬¦æ¥æ¯è¾å符串ï¼
const a = "a";
const b = "b";
if (a < b) {
// true
console.log(`${a} å°äº ${b}`);
} else if (a > b) {
console.log(`${a} å¤§äº ${b}`);
} else {
console.log(`${a} å ${b} ç¸ç`);
}
注æï¼ææçæ¯è¾è¿ç®ç¬¦ï¼å
æ¬ ===
å ==
ï¼å¨æ¯è¾å符串æ¶é½åºå大å°åãä¸åºå大å°åå°æ¯è¾å符串çå¸¸è§æ¹å¼æ¯å¨æ¯è¾å®ä»¬ä¹åå°å®ä»¬è½¬ä¸ºç¸åç大å°åï¼å¤§åæè
å°åï¼ã
function areEqualCaseInsensitive(str1, str2) {
return str1.toUpperCase() === str2.toUpperCase();
}
éè¿ toUpperCase()
æ toLowerCase()
è¿è¡è½¬æ¢ç鿩大夿¯ä»»æçï¼å¹¶ä¸å¨æ©å±å°æä¸åæ¯ä¹å¤æ¶ï¼ä¸¤è
é½ä¸æ¯å®å
¨å¯é çãä¾å¦ï¼å¾·è¯å°å忝 Ã
å ss
é½è¢« toUpperCase()
转æ¢ä¸º SS
ï¼èåè³å
¶åæ¯ Ä±
ä¼è¢« toLowerCase()
éè¯¯å°æ¥å为ä¸çäº I
ï¼é¤éä½¿ç¨ toLocaleLowerCase("tr")
ã
const areEqualInUpperCase = (str1, str2) =>
str1.toUpperCase() === str2.toUpperCase();
const areEqualInLowerCase = (str1, str2) =>
str1.toLowerCase() === str2.toLowerCase();
areEqualInUpperCase("Ã", "ss"); // trueï¼åºè¯¥ä¸º false
areEqualInLowerCase("ı", "I"); // falseï¼åºè¯¥ä¸º true
ç¨äºæµè¯ä¸åºå大å°åçç¸çæ§çæ¬å°åï¼locale-awareï¼ä¸å¯é çè§£å³æ¹æ¡æ¯ä½¿ç¨ Intl.Collator
API æè
å符串ç localeCompare()
æ¹æ³ââå®ä»¬å
±äº«ç¸åçæ¥å£ââsensitivity
é项设置为 "accent"
æ "base"
ã
const areEqual = (str1, str2, locale = "en-US") =>
str1.localeCompare(str2, locale, { sensitivity: "accent" }) === 0;
areEqual("Ã", "ss", "de"); // false
areEqual("ı", "I", "tr"); // true
localeCompare()
æ¹æ³ä½¿å符串æ¯è¾å¯ä»¥å strcmp()
彿°ä¸æ ·è¿è¡ââå®å
许以æ¬å°åçæ¹å¼å¯¹å符串è¿è¡æåºã
注æï¼JavaScript åºå String
对象ååå§å符串å¼ï¼Boolean
å Number
乿¯å¦æ¤ï¼ã
å符串åé¢éï¼ä½¿ç¨åå¼å·æè
åå¼å·è¡¨ç¤ºï¼åä»éæé 彿°ä¸ä¸æä¸ç String
è°ç¨è¿åçå符串ï¼å³å¨ä¸ä½¿ç¨ new
å
³é®åçæ
åµä¸è°ç¨ï¼æ¯åå§å符串ãå¨éè¦è°ç¨åå§åç¬¦ä¸²çæ¹æ³æè¿è¡å±æ§æ¥æ¾çä¸ä¸æä¸ï¼JavaScript å°èªå¨å
è£
åå§å符串并å¨å
è£
对象ä¸è°ç¨æ¹æ³ææ§è¡å±æ§æ¥æ¾ã
const strPrim = "foo"; // åé¢éæ¯ä¸ä¸ªå符串åå§å¼
const strPrim2 = String(1); // 被强å¶è½¬æ¢ä¸ºå符串åå§å¼â1â
const strPrim3 = String(true); // 被强å¶è½¬æ¢ä¸ºå符串åå§å¼âtrueâ
const strObj = new String(strPrim); // ä½¿ç¨ `new` å
³é®åè°ç¨ `String` æé 彿°è¿åä¸ä¸ªå符串å
è£
对象ã
console.log(typeof strPrim); // "string"
console.log(typeof strPrim2); // "string"
console.log(typeof strPrim3); // "string"
console.log(typeof strObj); // "object"
è¦åï¼ ä½ åºè¯¥åºæ¬ä¸ä¼å° String
ä½ä¸ºæé 彿°ä½¿ç¨ã
ä½¿ç¨ eval()
æ¶ï¼å符串åå§å¼å String
对象ä¹ä¼ç»åºä¸åçç»æãä¼ éç» eval
çåå§å¼è¢«å½ä½æºä»£ç å¤çï¼è String
对象å被å½ä½å¯¹è±¡å¤çï¼è¿å对象ãä¾å¦ï¼
const s1 = "2 + 2"; // å建ä¸ä¸ªå符串åå§å¼
const s2 = new String("2 + 2"); // å建ä¸ä¸ª String 对象
console.log(eval(s1)); // è¿åæ°å 4
console.log(eval(s2)); // è¿åå符串â2 + 2â
å æ¤ï¼å½ä¸æ®µä»£ç 卿æä½¿ç¨å符串åå§å¼çæ¶åå´ä½¿ç¨äº String
对象æ¯ï¼å¯è½ä¼å¯¼è´æ§è¡å¤±è´¥ï¼è½ç¶ä¸è¬æ
åµä¸ï¼æä»¬å¹¶ä¸éè¦èèè¿æ ·çé®é¢ã
String
对象å§ç»å¯ä»¥ä½¿ç¨ valueOf()
æ¹æ³å°å
¶è½¬æ¢ä¸ºå¯¹åºçåå§å¼ã
console.log(eval(s2.valueOf())); // è¿åæ°å 4
å符串强å¶è½¬æ¢
许å¤å
ç½®æä½é¦å
å°å®ä»¬çåæ°å¼ºå¶è½¬æ¢ä¸ºå符串ï¼è¿å°±æ¯ä¸ºä»ä¹ String
对象çè¡ä¸ºç±»ä¼¼äºå符串åå§å¼çåå ï¼ãè¿äºæä½å¯ä»¥æ»ç»ä¸ºä»¥ä¸å ç¹ï¼
undefined
è½¬æ¢æ "undefined"
ãnull
è½¬æ¢æ "null"
ãtrue
è½¬æ¢æ "true"
ï¼false
è½¬æ¢æ "false"
ãtoString(10)
ç¸åçç®æ³è½¬æ¢æ°åãtoString(10)
ç¸åçç®æ³è½¬æ¢ BigIntãTypeError
ã[Symbol.toPrimitive]()
ï¼hint 为 "string"
ï¼ãtoString()
å valueOf()
æ¹æ³å°å
¶è½¬æ¢ä¸ºåå§å¼ãç¶åå°çæçåå§å¼è½¬æ¢ä¸ºä¸ä¸ªå符串ãæå ç§æ¹æ³å¯ä»¥å¨ JavaScript ä¸å®ç°å ä¹ç¸åçææã
`${x}`
为åµå
¥çè¡¨è¾¾å¼æ§è¡ä¸é¢çå符串强å¶è½¬æ¢æ¥éª¤ãString()
彿°ï¼String(x)
使ç¨ç¸åçç®æ³å»è½¬æ¢ x
ï¼åªæ¯ Symbol ä¸ä¼æåº TypeError
ï¼èæ¯è¿å "Symbol(description)"
ï¼å
¶ä¸ description
æ¯å¯¹ Symbol çæè¿°ã+
è¿ç®ç¬¦ï¼"" + x
å°å
¶æä½æ°å¼ºå¶è½¬ä¸ºåå§å¼ï¼è䏿¯å符串ï¼å¹¶ä¸å¯¹äºæäºå¯¹è±¡ï¼å
¶è¡ä¸ºä¸æ®éå符串强å¶è½¬æ¢å®å
¨ä¸åãæå
³æ´å¤ç»èï¼è¯·åè§å
¶åèé¡µãæ ¹æ®ä½ 使ç¨çæ
åµï¼ä½ å¯è½æ³è¦ä½¿ç¨ `${x}`
ï¼æ¨¡æå
ç½®è¡ä¸ºï¼æ String(x)
ï¼å¤ç symbol å¼è䏿åºé误ï¼ï¼ä½ä½ ä¸åºè¯¥ä½¿ç¨ "" + x
ã
åç¬¦ä¸²åºæ¬ä¸è¡¨ç¤ºä¸º UTF-16 ç å
çåºåãå¨ UTF-16 ç¼ç ä¸ï¼æ¯ä¸ªç å
齿¯ 16 ä½é¿ãè¿æå³çæå¤æ 216 个æ 65536 个å¯è½çå符å¯è¡¨ç¤ºä¸ºå个 UTF-16 ç å
ã该å符éç§°ä¸ºåºæ¬å¤è¯è¨å¹³é¢ï¼BMPï¼ï¼å
嫿叏è§çå符ï¼å¦æä¸åæ¯ãå¸è
忝ã西éå°åæ¯ä»¥å许å¤ä¸äºåç¬¦ãæ¯ä¸ªç å
é½å¯ä»¥ç¨ä»¥ \u
å¼å¤´ç 4 个åå
è¿å¶æ°ååå¨ä¸ä¸ªå符串ä¸ã
ç¶èï¼æ´ä¸ª Unicode åç¬¦éæ¯ 65536 大å¾å¤ãé¢å¤çå符以代ç对ï¼surrogate pairï¼çå½¢å¼åå¨å¨ UTF-16 ä¸ï¼ä»£ç对æ¯ä¸å¯¹ 16 ä½ç å
ï¼è¡¨ç¤ºä¸ä¸ªå个å符ã为äºé¿å
æ§ä¹ï¼é
对ç两个é¨åå¿
é¡»ä»äº 0xD800
å 0xDFFF
ä¹é´ï¼å¹¶ä¸è¿äºç å
ä¸ç¨äºç¼ç åç å
å符ãï¼æ´åç¡®å°è¯´ï¼å导代çï¼ä¹ç§°ä¸ºé«ä½ä»£çï¼å
¶å¼å¨ 0xD800
å 0xDBFF
ä¹é´ï¼å«ï¼ï¼èå尾代çï¼ä¹ç§°ä¸ºä½ä½ä»£çï¼å
¶å¼å¨ 0xDC00
å 0xDFFF
ä¹é´ï¼å«ï¼ãï¼æ¯ä¸ª Unicode å符ç±ä¸ä¸ªæè
两个 UTF-16 ç å
ç»æï¼ä¹ç§°ä¸º Unicode ç ä½ï¼code pointï¼ãæ¯ä¸ª Unicode ç ä½é½å¯ä»¥ä½¿ç¨ \u{xxxxxx}
åæä¸ä¸ªå符串ï¼å
¶ä¸ xxxxxx
表示 1â6 个åå
è¿å¶æ°åã
âåç¬ä»£ç项ï¼lone surrogateï¼âæ¯ææ»¡è¶³ä»¥ä¸æè¿°ä¹ä¸ç 16 ä½ç å ï¼
0xD800
å° 0xDBFF
å
ï¼å«ï¼ï¼å³ä¸ºå导代çï¼ï¼ä½å®æ¯å符串ä¸çæåä¸ä¸ªç å
ï¼æè
ä¸ä¸ä¸ªç å
䏿¯å尾代çã0xDC00
å° 0xDFFF
å
ï¼å«ï¼ï¼å³ä¸ºå尾代çï¼ï¼ä½å®æ¯å符串ä¸ç第ä¸ä¸ªç å
ï¼æè
åä¸ä¸ªç å
䏿¯å导代çãåç¬ä»£ç项ä¸ä»£è¡¨ä»»ä½ Unicode å符ãå°½ç®¡å¤§å¤æ° JavaScript å
ç½®æ¹æ³é½å¯ä»¥æ£ç¡®å¤çå®ä»¬ï¼å 为å®ä»¬é½æ¯åºäº UTF-16 ç å
å·¥ä½çï¼ä½æ¯å¨ä¸å
¶ä»ç³»ç»äº¤äºæ¶ï¼åç¬ä»£ç项é叏䏿¯ææçå¼ãä¾å¦ï¼encodeURI()
ä¼ä¸ºåç¬ä»£ç项æåº URIError
ï¼å 为 URI ç¼ç ä½¿ç¨ UTF-8 ç¼ç ï¼è UTF-8 没æä»»ä½ç¼ç åç¬ä»£çé¡¹çæ¹æ³ãä¸å
å«ä»»ä½åç¬ä»£ç项çå符串称为è§èçå符串ï¼å¹¶ä¸å¯ä»¥å®å
¨å°ä¸ä¸å¤ç UTF-16 ç彿°ä¸èµ·ä½¿ç¨ï¼ä¾å¦ encodeURI()
æ TextEncoder
ãä½ å¯ä»¥ä½¿ç¨ isWellFormed()
æ¹æ³æ£æ¥å符串æ¯å¦è§èï¼æä½¿ç¨ toWellFormed()
æ¹æ³æ¸
é¤åç¬ä»£ç项ã
é¤äº Unicode å符ä¹å¤ï¼è¿ææäº Unicode å符åºååºè§ä¸ºä¸ä¸ªè§è§åå
ï¼è¢«ç§°ä¸ºåç´ ç°ï¼grapheme clusterï¼ãæå¸¸è§çæ
嵿¯ emojiï¼è®¸å¤å
·æå¤ç§åä½ç emoji å®é
䏿¯ç±å¤ä¸ª emoji ç»æçï¼éå¸¸ç± <ZWJ>ï¼U+200D
ï¼åç¬¦è¿æ¥ã
ä½ å¿
é¡»å°å¿è¿ä»£å符级å«ãä¾å¦ï¼split("")
å°æç
§ UTF-16 ç å
åå²å¹¶å°ä»£ç对åå¼ãå符串索å¼ä¹æ¯æçæ¯ä¸ª UTF-16 ç å
çç´¢å¼ãå¦ä¸æ¹é¢ï¼[Symbol.iterator]()
æ Unicode ç ä½è¿ä»£ãéååç´ ç°å°éè¦ä¸äºèªå®ä¹ä»£ç ã
"ð".split(""); // ['\ud83d', '\ude04']; splits into two lone surrogates
// "Backhand Index Pointing Right: Dark Skin Tone"
[..."ðð¿"]; // ['ð', 'ð¿']
// splits into the basic "Backhand Index Pointing Right" emoji and
// the "Dark skin tone" emoji
// "Family: Man, Boy"
[..."ð¨âð¦"]; // [ 'ð¨', 'â', 'ð¦' ]
// splits into the "Man" and "Boy" emoji, joined by a ZWJ
// The United Nations flag
[..."ðºð³"]; // [ 'ðº', 'ð³' ]
// splits into two "region indicator" letters "U" and "N".
// All flag emojis are formed by joining two region indicator letters
æé 彿°
String()
å建ä¸ä¸ªæ°ç String
对象ãå®å¨ä½ä¸ºå½æ°è°ç¨æ¶æ§è¡ç±»å转æ¢ï¼è䏿¯ä½ä¸ºæé 彿°è°ç¨ï¼åè
éå¸¸æ´æç¨ã
String.fromCharCode()
è¿åä½¿ç¨æå®ç Unicode å¼åºåå建çå符串ã
String.fromCodePoint()
è¿åä½¿ç¨æå®çç ä½åºåå建çå符串ã
String.raw()
è¿åä»åå§æ¨¡æ¿å符串å建çå符串ã
è¿äºå±æ§å¨ String.prototype
ä¸å®ä¹ï¼ç±ææ String
å®ä¾å
±äº«ã
String.prototype.constructor
å建å®ä¾å¯¹è±¡çæé 彿°ãå¯¹äº String
å®ä¾ï¼åå§å¼æ¯ String
æé 彿°ã
è¿äºå±æ§æ¯æ¯ä¸ª String
å®ä¾çèªæå±æ§ã
String.prototype.length
åæ å符串ç length
ãåªè¯»ã
String.prototype.at()
è¿åæå®ç´¢å¼å¤çåç¬¦ï¼æ£å¥½æ¯ä¸ä¸ª UTF-16 ç å ï¼ãæ¥åè´æ´æ°ï¼ä»æåä¸ä¸ªå符串å符å¼å§åæ°ã
String.prototype.charAt()
è¿åæå® index
å¤çåç¬¦ï¼æ£å¥½æ¯ä¸ä¸ª UTF-16 ç å
ï¼ã
String.prototype.charCodeAt()
è¿åä¸ä¸ªæ°åï¼å®æ¯ç»å® index
å¤ç UTF-16 ç å
å¼ã
String.prototype.codePointAt()
è¿åä¸ä¸ªéè´æ´æ°å¼ï¼å®æ¯ä»æå®ä½ç½®ï¼pos
ï¼å¼å§ç UTF-16 ç¼ç ç ä½çç ä½å¼ã
String.prototype.concat()
åå¹¶ä¸¤ä¸ªï¼ææ´å¤ï¼åç¬¦ä¸²çææ¬å¹¶è¿åä¸ä¸ªæ°å符串ã
String.prototype.endsWith()
ç¡®å®å符串æ¯å¦ä»¥å符串 searchString
çå符ç»å°¾ã
String.prototype.includes()
ç¡®å®è°ç¨å符串æ¯å¦å
å« searchString
ã
String.prototype.indexOf()
è¿åå¨è°ç¨ String
对象ä¸ç¬¬ä¸æ¬¡åºç°ç searchValue
çç´¢å¼ï¼å¦ææªæ¾å°åè¿å -1
ã
String.prototype.isWellFormed()
è¿åä¸ä¸ªå¸å°å¼ï¼æç¤ºæ¤å符串æ¯å¦å å«ä»»ä½åç¬ä»£ç项ã
String.prototype.lastIndexOf()
è¿åå¨è°ç¨ String
å¯¹è±¡ä¸æå䏿¬¡åºç°ç searchValue
çç´¢å¼ï¼å¦ææªæ¾å°åè¿å -1
ã
String.prototype.localeCompare()
è¿åä¸ä¸ªæ°åï¼ç¨äºæç¤ºä¸ä¸ªåèå符串 compareString
æ¯å¦å¨æåºé¡ºåºå颿ä¹åæä¸ç»å®å符串ç¸åã
String.prototype.match()
ç¨äºå°æ£åè¡¨è¾¾å¼ regexp
ä¸å符串å¹é
ã
String.prototype.matchAll()
è¿åææ regexp
çå¹é
项çè¿ä»£å¨ã
String.prototype.normalize()
è¿åè°ç¨å符串å¼ç Unicode è§èåå½¢å¼ã
String.prototype.padEnd()
ç¨ç»å®åç¬¦ä¸²ä»æ«å°¾å¡«å
å½åå符串并è¿åé¿åº¦ä¸º targetLength
çæ°å符串ã
String.prototype.padStart()
ç¨ç»å®å符串ä»å¼å¤´å¡«å
å½åå符串并è¿åé¿åº¦ä¸º targetLength
çæ°å符串ã
String.prototype.repeat()
è¿åç±å¯¹è±¡çå
ç´ éå¤ count
æ¬¡ç»æçå符串ã
String.prototype.replace()
ç¨äºä½¿ç¨ replaceWith
æ¿æ¢åºç°ç searchFor
ãsearchFor
å¯ä»¥æ¯åç¬¦ä¸²ææ£å表达å¼ï¼replaceWith
å¯ä»¥æ¯å符串æå½æ°ã
String.prototype.replaceAll()
ç¨äºä½¿ç¨ replaceWith
æ¿æ¢ææåºç°ç searchFor
ãsearchFor
å¯ä»¥æ¯åç¬¦ä¸²ææ£å表达å¼ï¼replaceWith
å¯ä»¥æ¯å符串æå½æ°ã
String.prototype.search()
æç´¢æ£åè¡¨è¾¾å¼ regexp
åè°ç¨å符串ä¹é´çå¹é
项ã
String.prototype.slice()
æåå符串çä¸é¨åå¹¶è¿åä¸ä¸ªæ°å符串ã
String.prototype.split()
è¿åä¸ä¸ªç±å¨åºç°åå符串 sep
æ¶æåè°ç¨çå符串ç¶åå¡«å
çå符串æ°ç»ã
String.prototype.startsWith()
ç¡®å®è°ç¨å符串æ¯å¦ä»¥å符串 searchString
çå符å¼å¤´ã
String.prototype.substring()
è¿åä¸ä¸ªæ°å符串ï¼å ¶ä¸å 嫿¥èªï¼æä¹é´ï¼æå®ç´¢å¼ï¼æå¤ä¸ªç´¢å¼ï¼çè°ç¨å符串çå符ã
String.prototype.toLocaleLowerCase()
å符串ä¸çå符å°è½¬æ¢ä¸ºå°åï¼åæ¶å°éå½åè¯è¨ç¯å¢ã
对äºå¤§å¤æ°è¯è¨ï¼è¿å°è¿åä¸ toLowerCase()
ç¸åçç»æã
String.prototype.toLocaleUpperCase( [locale, ...locales])
å符串ä¸çå符å°è½¬æ¢ä¸ºå¤§åï¼åæ¶å°éå½åè¯è¨ç¯å¢ã
对äºå¤§å¤æ°è¯è¨ï¼è¿å°è¿åä¸ toUpperCase()
ç¸åçç»æã
String.prototype.toLowerCase()
è¿å转æ¢ä¸ºå°åçè°ç¨å符串å¼ã
String.prototype.toString()
è¿å表示æå®å¯¹è±¡çå符串ãéå Object.prototype.toString()
æ¹æ³ã
String.prototype.toUpperCase()
è¿å转æ¢ä¸ºå¤§åçè°ç¨å符串å¼ã
String.prototype.toWellFormed()
è¿åä¸ä¸ªå符串ï¼å ¶ä¸å å«çææåç¬ä»£ç项齿¿æ¢ä¸º Unicode æ¿æ¢å符 U+FFFDã
String.prototype.trim()
ä¿®åªå符串å¼å¤´åç»å°¾çç©ºæ ¼ã
String.prototype.trimEnd()
ä¿®åªå符串ç»å°¾çç©ºæ ¼ã
String.prototype.trimStart()
ä¿®åªå符串å¼å¤´çç©ºæ ¼ã
String.prototype.valueOf()
è¿åæå®å¯¹è±¡çåå§å¼ãéå Object.prototype.valueOf()
æ¹æ³ã
String.prototype[Symbol.iterator]()
è¿åä¸ä¸ªæ°çè¿ä»£å¨å¯¹è±¡ï¼è¯¥å¯¹è±¡è¿ä»£ String å¼çç ä½ï¼å°æ¯ä¸ªç ä½ä½ä¸º String å¼è¿åã
è¦åï¼ å·²å¼ç¨ã请é¿å 使ç¨è¿äºæ¹æ³ã
å®ä»¬çç¨éæéï¼å 为å®ä»¬åºäºé常å¤èç HTML æ åå¹¶ä¸ä»
æä¾å½åå¯ç¨ç HTML æ è®°å屿§çä¸ä¸ªåéãç°å¨å·²ç»ä¸ºå®ä»¬å建äºå·²å¼ç¨æéæ åçæ è®°ãæ¤å¤ï¼å®ä»¬å¨æ²¡æä»»ä½éªè¯ææ¸
ççæ
åµä¸è¿è¡ç®åçåç¬¦ä¸²è¿æ¥ï¼è¿ä½¿å¾å®ä»¬å¨ä½¿ç¨ innerHTML
ç´æ¥æå
¥æ¶æä¸ºæ½å¨çå®å
¨å¨èã请æ¹ç¨ DOM APIï¼ä¾å¦ document.createElement()
ã
String.prototype.anchor()
å·²å¼ç¨
<a name="name">
ï¼è¶
ææ¬ç®æ ï¼
String.prototype.big()
å·²å¼ç¨
<big>
String.prototype.blink()
å·²å¼ç¨
<blink>
String.prototype.bold()
å·²å¼ç¨
<b>
String.prototype.fixed()
å·²å¼ç¨
<tt>
String.prototype.fontcolor()
å·²å¼ç¨
String.prototype.fontsize()
å·²å¼ç¨
String.prototype.italics()
å·²å¼ç¨
<i>
String.prototype.link()
å·²å¼ç¨
<a href="url">
ï¼é¾æ¥ URLï¼
String.prototype.small()
å·²å¼ç¨
<small>
String.prototype.strike()
å·²å¼ç¨
<strike>
String.prototype.sub()
å·²å¼ç¨
<sub>
String.prototype.sup()
å·²å¼ç¨
<sup>
请注æï¼è¿äºæ¹æ³ä¸ä¼æ£æ¥å符串æ¬èº«æ¯å¦å å« HTML æ è®°ï¼å æ¤å¯è½ä¼åå»ºæ æç HTMLï¼
"</b>".bold(); // <b></b></b>
å®ä»¬æåçå¯ä¸è½¬ä¹æ¯å°å±æ§å¼ä¸ç "
ï¼ä¾å¦ anchor()
ãfontcolor()
ãfontsize()
å link()
ï¼æ¿æ¢ä¸º "
ã
"foo".anchor('"Hello"'); // <a name=""Hello"">foo</a>
ç¤ºä¾ å符串转æ¢
å¯ä»¥ä½¿ç¨ String
ä½ä¸º toString()
æ´å¯é çä»£æ¿æ¹æ³ï¼å 为å®å¨ç¨äº null
å undefined
æ¶ä»ç¶ææãä¾å¦ï¼
const nullVar = null;
nullVar.toString(); // TypeError: nullVar is null
String(nullVar); // "null"
const undefinedVar = undefined;
undefinedVar.toString(); // TypeError: undefinedVar is undefined
String(undefinedVar); // "undefined"
è§è æµè§å¨å
¼å®¹æ§ åè§
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4