String ng JavaScript
JavaScript strings are used to store and manipulate text.
String ng JavaScript
JavaScript strings are zero or more characters within quotes.
实例
var x = "Bill Gates";
You can use single quotes or double quotes:
实例
var carname = "Porsche 911"; var carname = 'Porsche 911';
You can use quotes in strings, as long as they do not match the quotes surrounding the string:
实例
var answer = "It's good to see you again!"; var answer = "He is called 'Bill'"; var answer = 'He is called "Bill"';
String length
Built-in property length
Can return theLength:
实例
var txt = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; var sln = txt.length;
Special characters
Since strings must be enclosed in quotes, JavaScript will misinterpret this string:
var y = "China is the hometown of porcelain, so china is with"China (China)"having the same name."
The string will be split into "China is the hometown of porcelain, so china is with".
The solution to avoid this problem is to use \ Escape character。
Escape characters convert special characters to string characters:
Code | Result | Description |
---|---|---|
\' | ' | Single quotes |
\" | " | Double quote |
\\ | \ | Backslash |
实例
Sequence \"
Iinsert ang double quote sa loob ng string:
实例
var x = "China ay ang tahanan ng chinaware, kaya ang china ay magkapareho sa \"China (China)\".";
Sequence \'
Iinsert ang single quote sa loob ng string:
实例
var x = 'It\'s good to see you again';
Sequence \\
Iinsert ang backslash sa loob ng string:
实例
var x = "Ang character \\ ay tinatawag na backslash.";
Escape character (\
)ay maaari ring gamitin para sa pagpalit ng iba pang espesyal na character sa string.
Ang ibang anim na valid na sequence ng escape sa JavaScript:
Code | Result |
---|---|
\b | Backspace key |
\f | Form feed |
\n | New line |
\r | Carriage return |
\t | Horizontal tab |
\v | Vertical tab |
Ang anim na character na maaaring iescape sa simula ay dinisenyo para sa kontrol ng typewriter, teletype, at facsimile machine. Wala silang kahulugan sa HTML.
Pagpalit ng mahabang linya ng code
Para sa pinakamahusay na pagbasa, ayon sa mga programmer, ay ibabawasan ang haba ng bawat linya ng code sa 80 na character.
Kung ang isang JavaScript statement ay hindi nararapat sa isang buong linya, ang pinakamahusay na lugar para sa pagpalit ng linya ay sa likod ng isang operator:
实例
document.getElementById("demo").innerHTML = "Hello Kitty.";
Maaari ka ringSa loob ng stringMagpalit ng linya, sa pamamagitan ng isang backslash:
实例
document.getElementById("demo").innerHTML = "Hello \ Kitty!";
\
Ang paraan ay hindi kasama sa ECMAScript (JavaScript) standard.
Ang ilang mga browser ay hindi din pinapayagan \
Hindi maaring ilagay ang puwang sa likod ng character.
Ang pinakamalaking kaligtasan para sa pagpalit ng linya ng mahabang string (ngunit medyo mabagal) ay gamit ang pagsasama ng string:
实例
document.getElementById("demo").innerHTML = "Hello" + "Kitty!";
Hindi mo pwedeng gamitin ang backslash upang palitan ang linya ng code:
实例
document.getElementById("demo").innerHTML = \ "Hello Kitty!";
Ang string ay maaaring maging bagay
Karaniwan, ang string ng JavaScript ay orihinal na halaga, na ginawa sa pamamagitan ng literal:
var firstName = "Bill"
Ngunit ang string ay maaari ring maipakilala gamit ang pangalawang salita new
Inilalarawan bilang:
var firstName = new String("Bill")
实例
var x = "Bill"; var y = new String("Bill"); // typeof x ay magiging string // typeof y ay magiging object
请不要把字符串创建为对象。它会拖慢执行速度。
new
关键字使代码复杂化。也可能产生一些意想不到的结果:
当使用 ==
相等运算符时,相等字符串是相等的:
实例
var x = "Bill"; var y = new String("Bill"); // (x == y) 为 true,因为 x 和 y 的值相等
当使用 ===
运算符时,相等字符串是不相等的,因为 ===
运算符需要类型和值同时相等。
实例
var x = "Bill"; var y = new String("Bill"); // (x === y) 为 false,因为 x 和 y 的类型不同(字符串与对象)
甚至更糟。对象无法比较:
实例
var x = new String("Bill"); var y = new String("Bill"); // (x == y) 为 false,因为 x 和 y 是不同的对象
实例
var x = new String("Bill"); var y = new String("Bill"); // (x === y) 为 false,因为 x 和 y 是不同的对象
请注意 (x==y) 与 (x===y) 的区别。
JavaScript 对象无法进行对比,比较两个 JavaScript 将始终返回 false
。