Chuyển đổi javascript sang java

Tìm hiểu từ hơn 300 ví dụ. Với trình chỉnh sửa của chúng tôi, bạn có thể chỉnh sửa CSS và nhấp vào nút để xem kết quả

Chuyển đến ví dụ về CSS


Sử dụng thực đơn

Chúng tôi khuyên bạn nên đọc hướng dẫn này, theo trình tự được liệt kê trong menu

Nếu bạn có màn hình lớn, menu sẽ luôn ở bên trái

Nếu bạn có màn hình nhỏ, hãy mở menu bằng cách nhấp vào ký hiệu menu trên cùng ☰


Mẫu CSS

Chúng tôi đã tạo một số W3 đáp ứng. Các mẫu CSS để bạn sử dụng

Bạn có thể tự do sửa đổi, lưu, chia sẻ và sử dụng chúng trong tất cả các dự án của mình

Mẫu CSS miễn phí



bài tập css

Kiểm tra bản thân với các bài tập


Câu đố về CSS

Kiểm tra kỹ năng CSS của bạn bằng một bài kiểm tra

Bắt đầu bài kiểm tra CSS


Việc học của tôi

Theo dõi tiến trình của bạn với chương trình "Học tập của tôi" miễn phí tại W3Schools

Đăng nhập vào tài khoản của bạn và bắt đầu kiếm điểm

Đây là một tính năng tùy chọn. Bạn có thể học W3Schools mà không cần sử dụng My Learning

Chuyển đổi javascript sang java


Tài liệu tham khảo CSS

Tại W3Schools, bạn sẽ tìm thấy các tham chiếu CSS hoàn chỉnh của tất cả các thuộc tính và bộ chọn với cú pháp, ví dụ, hỗ trợ trình duyệt, v.v.

Tham chiếu JavaScript đóng vai trò là kho lưu trữ dữ kiện về ngôn ngữ JavaScript. Toàn bộ ngôn ngữ được mô tả chi tiết ở đây. Khi bạn viết mã JavaScript, bạn sẽ thường xuyên tham khảo các trang này (do đó, tiêu đề là "Tham khảo JavaScript")

Ngôn ngữ JavaScript nhằm mục đích sử dụng trong một số môi trường lớn hơn, có thể là trình duyệt, tập lệnh phía máy chủ hoặc tương tự. Đối với hầu hết các phần, tài liệu tham khảo này cố gắng không phụ thuộc vào môi trường và không nhắm mục tiêu đến môi trường trình duyệt web

Nếu bạn chưa quen với JavaScript, hãy bắt đầu với hướng dẫn. Khi bạn đã nắm vững các nguyên tắc cơ bản, bạn có thể sử dụng tài liệu tham khảo để biết thêm chi tiết về các đối tượng riêng lẻ và cấu trúc ngôn ngữ

Các chuỗi rất hữu ích để giữ dữ liệu có thể được biểu diễn dưới dạng văn bản. Một số thao tác được sử dụng nhiều nhất trên chuỗi là kiểm tra

const string4 = new String("A String object");
8 của chúng, xây dựng và nối chúng bằng phương thức , kiểm tra sự tồn tại hoặc vị trí của các chuỗi con bằng phương thức
const string4 = new String("A String object");
9 hoặc trích xuất các chuỗi con bằng phương thức
"cat".charAt(1); // gives value "a"
0

Chuỗi có thể được tạo dưới dạng nguyên hàm, từ chuỗi ký tự hoặc dưới dạng đối tượng, sử dụng hàm tạo

"cat".charAt(1); // gives value "a"
1

const string1 = "A string primitive";
const string2 = 'Also a string primitive';
const string3 = `Yet another string primitive`;

const string4 = new String("A String object");

Chuỗi nguyên thủy và đối tượng chuỗi chia sẻ nhiều hành vi, nhưng có những điểm khác biệt và cảnh báo quan trọng khác. Xem bên dưới

Các ký tự chuỗi có thể được chỉ định bằng cách sử dụng dấu ngoặc đơn hoặc dấu ngoặc kép, được xử lý giống hệt nhau hoặc sử dụng ký tự backtick `. Biểu mẫu cuối cùng này chỉ định một mẫu chữ. với biểu mẫu này, bạn có thể nội suy các biểu thức

Có hai cách để truy cập một ký tự riêng lẻ trong một chuỗi. Đầu tiên là phương pháp

"cat".charAt(1); // gives value "a"
2

"cat".charAt(1); // gives value "a"

Một cách khác là coi chuỗi như một đối tượng giống như mảng, trong đó các ký tự riêng lẻ tương ứng với một chỉ mục số

________số 8_______

Khi sử dụng ký hiệu dấu ngoặc để truy cập ký tự, việc cố gắng xóa hoặc gán giá trị cho các thuộc tính này sẽ không thành công. Các thuộc tính liên quan không thể ghi cũng như không thể định cấu hình. (Xem

"cat".charAt(1); // gives value "a"
3 để biết thêm thông tin. )

Trong C, hàm

"cat".charAt(1); // gives value "a"
4 dùng để so sánh chuỗi. Trong JavaScript, bạn chỉ cần sử dụng toán tử nhỏ hơn và lớn hơn

const a = "a";
const b = "b";
if (a < b) {
  // true
  console.log(`${a} is less than ${b}`);
} else if (a > b) {
  console.log(`${a} is greater than ${b}`);
} else {
  console.log(`${a} and ${b} are equal.`);
}

Lưu ý rằng tất cả các toán tử so sánh, bao gồm

"cat".charAt(1); // gives value "a"
5 và
"cat".charAt(1); // gives value "a"
6, so sánh chuỗi phân biệt chữ hoa chữ thường. Một cách phổ biến để so sánh các chuỗi không phân biệt chữ hoa chữ thường là chuyển đổi cả hai thành cùng một kiểu chữ (chữ hoa hoặc chữ thường) trước khi so sánh chúng

function areEqualCaseInsensitive(str1, str2) {
  return str1.toUpperCase() === str2.toUpperCase();
}

Việc lựa chọn chuyển đổi bằng

"cat".charAt(1); // gives value "a"
7 hay
"cat".charAt(1); // gives value "a"
8 hầu hết là tùy ý và không cái nào hoàn toàn chắc chắn khi mở rộng ra ngoài bảng chữ cái Latinh. Ví dụ: chữ cái viết thường của Đức
"cat".charAt(1); // gives value "a"
9 và
"cat"[1]; // gives value "a"
0 đều được chuyển đổi thành
"cat"[1]; // gives value "a"
1 bởi
"cat".charAt(1); // gives value "a"
7, trong khi chữ cái tiếng Thổ Nhĩ Kỳ
"cat"[1]; // gives value "a"
3 sẽ bị báo cáo sai là không bằng với
"cat"[1]; // gives value "a"
4 bởi
"cat".charAt(1); // gives value "a"
8 trừ khi sử dụng cụ thể
"cat"[1]; // gives value "a"
6

const areEqualInUpperCase = (str1, str2) =>
  str1.toUpperCase() === str2.toUpperCase();
const areEqualInLowerCase = (str1, str2) =>
  str1.toLowerCase() === str2.toLowerCase();

areEqualInUpperCase("ß", "ss"); // true; should be false
areEqualInLowerCase("ı", "I"); // false; should be true

Một giải pháp mạnh mẽ và nhận biết ngôn ngữ để kiểm tra tính bình đẳng không phân biệt chữ hoa chữ thường là sử dụng API

"cat"[1]; // gives value "a"
7 hoặc phương thức
"cat"[1]; // gives value "a"
8 của chuỗi — chúng có chung giao diện — với tùy chọn được đặt thành
const a = "a";
const b = "b";
if (a < b) {
  // true
  console.log(`${a} is less than ${b}`);
} else if (a > b) {
  console.log(`${a} is greater than ${b}`);
} else {
  console.log(`${a} and ${b} are equal.`);
}
0 hoặc
const a = "a";
const b = "b";
if (a < b) {
  // true
  console.log(`${a} is less than ${b}`);
} else if (a > b) {
  console.log(`${a} is greater than ${b}`);
} else {
  console.log(`${a} and ${b} are equal.`);
}
1

const areEqual = (str1, str2, locale = "en-US") =>
  str1.localeCompare(str2, locale, { sensitivity: "accent" }) === 0;

areEqual("ß", "ss", "de"); // false
areEqual("ı", "I", "tr"); // true

Phương thức

"cat"[1]; // gives value "a"
8 cho phép so sánh chuỗi theo cách tương tự như
"cat".charAt(1); // gives value "a"
4 — nó cho phép sắp xếp chuỗi theo cách nhận biết ngôn ngữ

Lưu ý rằng JavaScript phân biệt giữa các đối tượng

const string4 = new String("A String object");
7 và các giá trị chuỗi nguyên thủy. (Điều này cũng đúng với
const a = "a";
const b = "b";
if (a < b) {
  // true
  console.log(`${a} is less than ${b}`);
} else if (a > b) {
  console.log(`${a} is greater than ${b}`);
} else {
  console.log(`${a} and ${b} are equal.`);
}
5 và
const a = "a";
const b = "b";
if (a < b) {
  // true
  console.log(`${a} is less than ${b}`);
} else if (a > b) {
  console.log(`${a} is greater than ${b}`);
} else {
  console.log(`${a} and ${b} are equal.`);
}
6. )

Chuỗi ký tự (được biểu thị bằng dấu ngoặc kép hoặc dấu ngoặc đơn) và chuỗi được trả về từ lệnh gọi

const string4 = new String("A String object");
7 trong ngữ cảnh không có hàm tạo (nghĩa là được gọi mà không sử dụng từ khóa
const a = "a";
const b = "b";
if (a < b) {
  // true
  console.log(`${a} is less than ${b}`);
} else if (a > b) {
  console.log(`${a} is greater than ${b}`);
} else {
  console.log(`${a} and ${b} are equal.`);
}
8) là các chuỗi nguyên thủy. Trong ngữ cảnh mà một phương thức được gọi trên một chuỗi nguyên thủy hoặc xảy ra tra cứu thuộc tính, thay vào đó, JavaScript sẽ tự động bọc chuỗi nguyên thủy và gọi phương thức hoặc thực hiện tra cứu thuộc tính trên đối tượng trình bao bọc

const strPrim = "foo"; // A literal is a string primitive
const strPrim2 = String(1); // Coerced into the string primitive "1"
const strPrim3 = String(true); // Coerced into the string primitive "true"
const strObj = new String(strPrim); // String with new returns a string wrapper object.

console.log(typeof strPrim); // "string"
console.log(typeof strPrim2); // "string"
console.log(typeof strPrim3); // "string"
console.log(typeof strObj); // "object"

Cảnh báo. Bạn sẽ hiếm khi thấy mình sử dụng

const string4 = new String("A String object");
7 làm hàm tạo

Chuỗi nguyên thủy và đối tượng

const string4 = new String("A String object");
7 cũng cho kết quả khác nhau khi sử dụng
function areEqualCaseInsensitive(str1, str2) {
  return str1.toUpperCase() === str2.toUpperCase();
}
1. Nguyên bản được chuyển đến
function areEqualCaseInsensitive(str1, str2) {
  return str1.toUpperCase() === str2.toUpperCase();
}
2 được coi là mã nguồn; . Ví dụ

const s1 = "2 + 2"; // creates a string primitive
const s2 = new String("2 + 2"); // creates a String object
console.log(eval(s1)); // returns the number 4
console.log(eval(s2)); // returns the string "2 + 2"

Vì những lý do này, mã có thể bị hỏng khi gặp các đối tượng

const string4 = new String("A String object");
7 khi nó mong đợi một chuỗi nguyên thủy thay vào đó, mặc dù nhìn chung, các tác giả không cần lo lắng về sự khác biệt

Một đối tượng

const string4 = new String("A String object");
7 luôn có thể được chuyển đổi thành đối tượng ban đầu của nó bằng phương thức
function areEqualCaseInsensitive(str1, str2) {
  return str1.toUpperCase() === str2.toUpperCase();
}
6

const string4 = new String("A String object");
0

Nhiều hoạt động tích hợp mong đợi các chuỗi trước tiên ép buộc các đối số của chúng đối với các chuỗi (đó là lý do phần lớn tại sao các đối tượng

const string4 = new String("A String object");
7 hoạt động tương tự như các nguyên hàm chuỗi). có thể được tóm tắt như sau

  • Các chuỗi được trả về nguyên trạng
  • function areEqualCaseInsensitive(str1, str2) {
      return str1.toUpperCase() === str2.toUpperCase();
    }
    
    8 biến thành
    function areEqualCaseInsensitive(str1, str2) {
      return str1.toUpperCase() === str2.toUpperCase();
    }
    
    9
  • const areEqualInUpperCase = (str1, str2) =>
      str1.toUpperCase() === str2.toUpperCase();
    const areEqualInLowerCase = (str1, str2) =>
      str1.toLowerCase() === str2.toLowerCase();
    
    areEqualInUpperCase("ß", "ss"); // true; should be false
    areEqualInLowerCase("ı", "I"); // false; should be true
    
    0 biến thành
    const areEqualInUpperCase = (str1, str2) =>
      str1.toUpperCase() === str2.toUpperCase();
    const areEqualInLowerCase = (str1, str2) =>
      str1.toLowerCase() === str2.toLowerCase();
    
    areEqualInUpperCase("ß", "ss"); // true; should be false
    areEqualInLowerCase("ı", "I"); // false; should be true
    
    1
  • const areEqualInUpperCase = (str1, str2) =>
      str1.toUpperCase() === str2.toUpperCase();
    const areEqualInLowerCase = (str1, str2) =>
      str1.toLowerCase() === str2.toLowerCase();
    
    areEqualInUpperCase("ß", "ss"); // true; should be false
    areEqualInLowerCase("ı", "I"); // false; should be true
    
    2 biến thành
    const areEqualInUpperCase = (str1, str2) =>
      str1.toUpperCase() === str2.toUpperCase();
    const areEqualInLowerCase = (str1, str2) =>
      str1.toLowerCase() === str2.toLowerCase();
    
    areEqualInUpperCase("ß", "ss"); // true; should be false
    areEqualInLowerCase("ı", "I"); // false; should be true
    
    3;
  • Các số được chuyển đổi với cùng một thuật toán như
    const areEqualInUpperCase = (str1, str2) =>
      str1.toUpperCase() === str2.toUpperCase();
    const areEqualInLowerCase = (str1, str2) =>
      str1.toLowerCase() === str2.toLowerCase();
    
    areEqualInUpperCase("ß", "ss"); // true; should be false
    areEqualInLowerCase("ı", "I"); // false; should be true
    
    6
  • BigInts được chuyển đổi với cùng một thuật toán như
    const areEqualInUpperCase = (str1, str2) =>
      str1.toUpperCase() === str2.toUpperCase();
    const areEqualInLowerCase = (str1, str2) =>
      str1.toLowerCase() === str2.toLowerCase();
    
    areEqualInUpperCase("ß", "ss"); // true; should be false
    areEqualInLowerCase("ı", "I"); // false; should be true
    
    6
  • Biểu tượng ném một
    const areEqualInUpperCase = (str1, str2) =>
      str1.toUpperCase() === str2.toUpperCase();
    const areEqualInLowerCase = (str1, str2) =>
      str1.toLowerCase() === str2.toLowerCase();
    
    areEqualInUpperCase("ß", "ss"); // true; should be false
    areEqualInLowerCase("ı", "I"); // false; should be true
    
    8
  • Các đối tượng đầu tiên bằng cách gọi các phương thức
    const areEqualInUpperCase = (str1, str2) =>
      str1.toUpperCase() === str2.toUpperCase();
    const areEqualInLowerCase = (str1, str2) =>
      str1.toLowerCase() === str2.toLowerCase();
    
    areEqualInUpperCase("ß", "ss"); // true; should be false
    areEqualInLowerCase("ı", "I"); // false; should be true
    
    9 của nó (với _______30_______0 là gợi ý), ______30_______1 và ______14_______6, theo thứ tự đó. Kết quả nguyên thủy sau đó được chuyển đổi thành một chuỗi

Có một số cách để đạt được hiệu quả gần như tương tự trong JavaScript

  • Mẫu chữ.
    const areEqual = (str1, str2, locale = "en-US") =>
      str1.localeCompare(str2, locale, { sensitivity: "accent" }) === 0;
    
    areEqual("ß", "ss", "de"); // false
    areEqual("ı", "I", "tr"); // true
    
    3 thực hiện chính xác các bước ép buộc chuỗi được giải thích ở trên cho biểu thức được nhúng
  • Hàm
    "cat".charAt(1); // gives value "a"
    
    1.
    const areEqual = (str1, str2, locale = "en-US") =>
      str1.localeCompare(str2, locale, { sensitivity: "accent" }) === 0;
    
    areEqual("ß", "ss", "de"); // false
    areEqual("ı", "I", "tr"); // true
    
    5 sử dụng cùng một thuật toán để chuyển đổi
    const areEqual = (str1, str2, locale = "en-US") =>
      str1.localeCompare(str2, locale, { sensitivity: "accent" }) === 0;
    
    areEqual("ß", "ss", "de"); // false
    areEqual("ı", "I", "tr"); // true
    
    6, ngoại trừ việc Ký hiệu không đưa ra giá trị
    const areEqualInUpperCase = (str1, str2) =>
      str1.toUpperCase() === str2.toUpperCase();
    const areEqualInLowerCase = (str1, str2) =>
      str1.toLowerCase() === str2.toLowerCase();
    
    areEqualInUpperCase("ß", "ss"); // true; should be false
    areEqualInLowerCase("ı", "I"); // false; should be true
    
    8 mà trả về
    const areEqual = (str1, str2, locale = "en-US") =>
      str1.localeCompare(str2, locale, { sensitivity: "accent" }) === 0;
    
    areEqual("ß", "ss", "de"); // false
    areEqual("ı", "I", "tr"); // true
    
    8, trong đó
    const areEqual = (str1, str2, locale = "en-US") =>
      str1.localeCompare(str2, locale, { sensitivity: "accent" }) === 0;
    
    areEqual("ß", "ss", "de"); // false
    areEqual("ı", "I", "tr"); // true
    
    9 là mô tả của Ký hiệu
  • Sử dụng toán tử
    const strPrim = "foo"; // A literal is a string primitive
    const strPrim2 = String(1); // Coerced into the string primitive "1"
    const strPrim3 = String(true); // Coerced into the string primitive "true"
    const strObj = new String(strPrim); // String with new returns a string wrapper object.
    
    console.log(typeof strPrim); // "string"
    console.log(typeof strPrim2); // "string"
    console.log(typeof strPrim3); // "string"
    console.log(typeof strObj); // "object"
    
    0.
    const strPrim = "foo"; // A literal is a string primitive
    const strPrim2 = String(1); // Coerced into the string primitive "1"
    const strPrim3 = String(true); // Coerced into the string primitive "true"
    const strObj = new String(strPrim); // String with new returns a string wrapper object.
    
    console.log(typeof strPrim); // "string"
    console.log(typeof strPrim2); // "string"
    console.log(typeof strPrim3); // "string"
    console.log(typeof strObj); // "object"
    
    1 ép toán hạng của nó thành một kiểu nguyên thủy thay vì một chuỗi và, đối với một số đối tượng, có các hành vi hoàn toàn khác với ép buộc chuỗi thông thường. Xem trang tham khảo của nó để biết thêm chi tiết

Tùy thuộc vào trường hợp sử dụng của bạn, bạn có thể muốn sử dụng

const areEqual = (str1, str2, locale = "en-US") =>
  str1.localeCompare(str2, locale, { sensitivity: "accent" }) === 0;

areEqual("ß", "ss", "de"); // false
areEqual("ı", "I", "tr"); // true
3 (để bắt chước hành vi tích hợp sẵn) hoặc
const areEqual = (str1, str2, locale = "en-US") =>
  str1.localeCompare(str2, locale, { sensitivity: "accent" }) === 0;

areEqual("ß", "ss", "de"); // false
areEqual("ı", "I", "tr"); // true
5 (để xử lý các giá trị ký hiệu mà không gây ra lỗi), nhưng bạn không nên sử dụng
const strPrim = "foo"; // A literal is a string primitive
const strPrim2 = String(1); // Coerced into the string primitive "1"
const strPrim3 = String(true); // Coerced into the string primitive "true"
const strObj = new String(strPrim); // String with new returns a string wrapper object.

console.log(typeof strPrim); // "string"
console.log(typeof strPrim2); // "string"
console.log(typeof strPrim3); // "string"
console.log(typeof strObj); // "object"
1

Các ký tự đặc biệt có thể được mã hóa bằng các chuỗi thoát

Trình tự thoát Điểm mã Unicode
const strPrim = "foo"; // A literal is a string primitive
const strPrim2 = String(1); // Coerced into the string primitive "1"
const strPrim3 = String(true); // Coerced into the string primitive "true"
const strObj = new String(strPrim); // String with new returns a string wrapper object.

console.log(typeof strPrim); // "string"
console.log(typeof strPrim2); // "string"
console.log(typeof strPrim3); // "string"
console.log(typeof strObj); // "object"
5ký tự null (U+0000 NULL)
const strPrim = "foo"; // A literal is a string primitive
const strPrim2 = String(1); // Coerced into the string primitive "1"
const strPrim3 = String(true); // Coerced into the string primitive "true"
const strObj = new String(strPrim); // String with new returns a string wrapper object.

console.log(typeof strPrim); // "string"
console.log(typeof strPrim2); // "string"
console.log(typeof strPrim3); // "string"
console.log(typeof strObj); // "object"
6dấu nháy đơn (U+0027 DẤU DẤU)
const strPrim = "foo"; // A literal is a string primitive
const strPrim2 = String(1); // Coerced into the string primitive "1"
const strPrim3 = String(true); // Coerced into the string primitive "true"
const strObj = new String(strPrim); // String with new returns a string wrapper object.

console.log(typeof strPrim); // "string"
console.log(typeof strPrim2); // "string"
console.log(typeof strPrim3); // "string"
console.log(typeof strObj); // "object"
7dấu nháy kép (U+0022 QUOTATION MARK)
const strPrim = "foo"; // A literal is a string primitive
const strPrim2 = String(1); // Coerced into the string primitive "1"
const strPrim3 = String(true); // Coerced into the string primitive "true"
const strObj = new String(strPrim); // String with new returns a string wrapper object.

console.log(typeof strPrim); // "string"
console.log(typeof strPrim2); // "string"
console.log(typeof strPrim3); // "string"
console.log(typeof strObj); // "object"
8dấu gạch chéo ngược (U+005C REVERSE SOLIDUS)
const strPrim = "foo"; // A literal is a string primitive
const strPrim2 = String(1); // Coerced into the string primitive "1"
const strPrim3 = String(true); // Coerced into the string primitive "true"
const strObj = new String(strPrim); // String with new returns a string wrapper object.

console.log(typeof strPrim); // "string"
console.log(typeof strPrim2); // "string"
console.log(typeof strPrim3); // "string"
console.log(typeof strObj); // "object"
9dòng mới (U+000A LINE FEED; LFU) __________44 vận chuyển trở lại (__0____44 . g. ,
const s1 = "2 + 2"; // creates a string primitive
const s2 = new String("2 + 2"); // creates a String object
console.log(eval(s1)); // returns the number 4
console.log(eval(s2)); // returns the string "2 + 2"
9 giống với
const strPrim = "foo"; // A literal is a string primitive
const strPrim2 = String(1); // Coerced into the string primitive "1"
const strPrim3 = String(true); // Coerced into the string primitive "true"
const strObj = new String(strPrim); // String with new returns a string wrapper object.

console.log(typeof strPrim); // "string"
console.log(typeof strPrim2); // "string"
console.log(typeof strPrim3); // "string"
console.log(typeof strObj); // "object"
9 (NỘP DẪN DÒNG); . g. ,
const string4 = new String("A String object");
11 giống như
const strPrim = "foo"; // A literal is a string primitive
const strPrim2 = String(1); // Coerced into the string primitive "1"
const strPrim3 = String(true); // Coerced into the string primitive "true"
const strObj = new String(strPrim); // String with new returns a string wrapper object.

console.log(typeof strPrim); // "string"
console.log(typeof strPrim2); // "string"
console.log(typeof strPrim3); // "string"
console.log(typeof strObj); // "object"
9 (NỘP DẪN DÒNG); . g. ,
const string4 = new String("A String object");
21 giống như
const strPrim = "foo"; // A literal is a string primitive
const strPrim2 = String(1); // Coerced into the string primitive "1"
const strPrim3 = String(true); // Coerced into the string primitive "true"
const strObj = new String(strPrim); // String with new returns a string wrapper object.

console.log(typeof strPrim); // "string"
console.log(typeof strPrim2); // "string"
console.log(typeof strPrim3); // "string"
console.log(typeof strObj); // "object"
9 (NỘP DẪN DÒNG);

Đôi khi, mã của bạn sẽ bao gồm các chuỗi rất dài. Thay vì có các dòng kéo dài vô tận hoặc ngắt quãng theo ý thích của trình soạn thảo, bạn có thể muốn ngắt chuỗi cụ thể thành nhiều dòng trong mã nguồn mà không ảnh hưởng đến nội dung chuỗi thực tế

Bạn có thể sử dụng toán tử

const strPrim = "foo"; // A literal is a string primitive
const strPrim2 = String(1); // Coerced into the string primitive "1"
const strPrim3 = String(true); // Coerced into the string primitive "true"
const strObj = new String(strPrim); // String with new returns a string wrapper object.

console.log(typeof strPrim); // "string"
console.log(typeof strPrim2); // "string"
console.log(typeof strPrim3); // "string"
console.log(typeof strObj); // "object"
0 để nối nhiều chuỗi lại với nhau, như thế này

const string4 = new String("A String object");
1

Hoặc bạn có thể sử dụng ký tự gạch chéo ngược (

const string4 = new String("A String object");
28) ở cuối mỗi dòng để cho biết rằng chuỗi sẽ tiếp tục ở dòng tiếp theo. Đảm bảo không có khoảng trắng hoặc bất kỳ ký tự nào khác sau dấu gạch chéo ngược (ngoại trừ dấu ngắt dòng) hoặc dưới dạng thụt lề;

const string4 = new String("A String object");
2

Cả hai phương pháp trên đều dẫn đến các chuỗi giống hệt nhau

Các chuỗi được biểu diễn cơ bản dưới dạng chuỗi các đơn vị mã UTF-16. Trong mã hóa UTF-16, mỗi đơn vị mã dài chính xác 16 bit. Điều này có nghĩa là có tối đa 216 hoặc 65536 ký tự có thể được biểu thị dưới dạng đơn vị mã UTF-16. Bộ ký tự này được gọi là , và bao gồm các ký tự phổ biến nhất như bảng chữ cái Latinh, Hy Lạp, Cyrillic, cũng như nhiều ký tự Đông Á. Mỗi đơn vị mã có thể được viết bằng một chuỗi có

const string4 = new String("A String object");
29 theo sau chính xác là bốn chữ số thập lục phân

Tuy nhiên, toàn bộ bộ ký tự Unicode lớn hơn nhiều so với 65536. Các ký tự bổ sung được lưu trữ trong UTF-16 dưới dạng các cặp thay thế, là các cặp đơn vị mã 16 bit đại diện cho một ký tự. Để tránh sự mơ hồ, hai phần của cặp phải nằm trong khoảng từ

const string4 = new String("A String object");
30 đến
const string4 = new String("A String object");
31 và các đơn vị mã này không được sử dụng để mã hóa các ký tự đơn mã. Do đó, "các chất thay thế đơn độc" thường không phải là các giá trị hợp lệ để thao tác chuỗi — ví dụ:
const string4 = new String("A String object");
32 sẽ đưa ra một
const string4 = new String("A String object");
33 cho các chất thay thế đơn độc. Mỗi ký tự Unicode, bao gồm một hoặc hai đơn vị mã UTF-16, còn được gọi là điểm mã Unicode. Mỗi điểm mã Unicode có thể được viết bằng một chuỗi có
const string4 = new String("A String object");
34 trong đó
const string4 = new String("A String object");
35 đại diện cho 1–6 chữ số hex

On top of Unicode characters, there are certain sequences of Unicode characters that should be treated as one visual unit, known as a grapheme cluster. The most common case is emojis: many emojis that have a range of variations are actually formed by multiple emojis, usually joined by the (

const string4 = new String("A String object");
36) character.

Bạn phải cẩn thận với cấp độ ký tự mà bạn đang lặp lại. Ví dụ:

const string4 = new String("A String object");
37 sẽ phân chia theo đơn vị mã UTF-16 và sẽ phân tách các cặp thay thế. Chỉ mục chuỗi cũng đề cập đến chỉ mục của từng đơn vị mã UTF-16. Mặt khác,
const string4 = new String("A String object");
38 lặp lại theo điểm mã Unicode. Lặp lại qua các cụm grapheme sẽ yêu cầu một số mã tùy chỉnh

const string4 = new String("A String object");
3

"cat".charAt(1); // gives value "a"
1

Tạo một đối tượng

const string4 = new String("A String object");
7 mới. Nó thực hiện chuyển đổi kiểu khi được gọi là hàm, thay vì hàm tạo, điều này thường hữu ích hơn

const string4 = new String("A String object");
41

Trả về một chuỗi được tạo bằng cách sử dụng chuỗi giá trị Unicode đã chỉ định

const string4 = new String("A String object");
42

Trả về một chuỗi được tạo bằng cách sử dụng chuỗi điểm mã đã chỉ định

const string4 = new String("A String object");
43

Trả về một chuỗi được tạo từ một chuỗi mẫu thô

const string4 = new String("A String object");
44

Phản ánh

const string4 = new String("A String object");
8 của chuỗi. Chỉ đọc

const string4 = new String("A String object");
46

Trả về ký tự (chính xác là một đơn vị mã UTF-16) tại

const string4 = new String("A String object");
47 đã chỉ định. Chấp nhận số nguyên âm, đếm ngược từ ký tự chuỗi cuối cùng

const string4 = new String("A String object");
48

Trả về ký tự (chính xác là một đơn vị mã UTF-16) tại

const string4 = new String("A String object");
47 đã chỉ định

const string4 = new String("A String object");
50

Trả về một số là giá trị đơn vị mã UTF-16 tại

const string4 = new String("A String object");
47 đã cho

const string4 = new String("A String object");
52

Trả về một số nguyên không âm Số là giá trị điểm mã của điểm mã được mã hóa UTF-16 bắt đầu từ

const string4 = new String("A String object");
53 đã chỉ định

const string4 = new String("A String object");
54

Kết hợp văn bản của hai (hoặc nhiều) chuỗi và trả về một chuỗi mới

const string4 = new String("A String object");
55

Xác định xem chuỗi cuộc gọi có chứa

const string4 = new String("A String object");
56 hay không

const string4 = new String("A String object");
57

Xác định xem một chuỗi có kết thúc bằng các ký tự của chuỗi

const string4 = new String("A String object");
56

const string4 = new String("A String object");
59

Trả về chỉ mục trong đối tượng gọi

const string4 = new String("A String object");
7 của lần xuất hiện đầu tiên của ________61 hoặc _________62 nếu không tìm thấy

const string4 = new String("A String object");
63

Trả về chỉ mục trong đối tượng gọi

const string4 = new String("A String object");
7 của lần xuất hiện cuối cùng của ____0_______61 hoặc _________62 nếu không tìm thấy

const string4 = new String("A String object");
67

Trả về một số cho biết liệu chuỗi tham chiếu

const string4 = new String("A String object");
68 có trước, sau hay tương đương với chuỗi đã cho theo thứ tự sắp xếp

const string4 = new String("A String object");
69

Được sử dụng để khớp biểu thức chính quy

const string4 = new String("A String object");
70 với một chuỗi

const string4 = new String("A String object");
71

Trả về một iterator của tất cả các kết quả khớp của

const string4 = new String("A String object");
70

const string4 = new String("A String object");
73

Trả về Dạng chuẩn hóa Unicode của giá trị chuỗi gọi

const string4 = new String("A String object");
74

Đệm chuỗi hiện tại từ cuối bằng một chuỗi đã cho và trả về một chuỗi mới có độ dài

const string4 = new String("A String object");
75

const string4 = new String("A String object");
76

Đệm chuỗi hiện tại từ đầu bằng một chuỗi đã cho và trả về một chuỗi mới có độ dài

const string4 = new String("A String object");
75

const string4 = new String("A String object");
78

Trả về một chuỗi bao gồm các phần tử của đối tượng được lặp lại

const string4 = new String("A String object");
79 lần

const string4 = new String("A String object");
80

Được sử dụng để thay thế các lần xuất hiện của

const string4 = new String("A String object");
81 bằng cách sử dụng
const string4 = new String("A String object");
82.
const string4 = new String("A String object");
81 có thể là một chuỗi hoặc Biểu thức chính quy và
const string4 = new String("A String object");
82 có thể là một chuỗi hoặc hàm

const string4 = new String("A String object");
85

Được sử dụng để thay thế tất cả các lần xuất hiện của

const string4 = new String("A String object");
81 bằng cách sử dụng
const string4 = new String("A String object");
82.
const string4 = new String("A String object");
81 có thể là một chuỗi hoặc Biểu thức chính quy và
const string4 = new String("A String object");
82 có thể là một chuỗi hoặc hàm

const string4 = new String("A String object");
90

Tìm kiếm sự trùng khớp giữa biểu thức chính quy

const string4 = new String("A String object");
70 và chuỗi gọi

const string4 = new String("A String object");
92

Trích xuất một phần của chuỗi và trả về một chuỗi mới

const string4 = new String("A String object");
93

Trả về một mảng các chuỗi được điền bằng cách tách chuỗi gọi tại các lần xuất hiện của chuỗi con

const string4 = new String("A String object");
94

const string4 = new String("A String object");
95

Xác định xem chuỗi gọi có bắt đầu bằng các ký tự của chuỗi

const string4 = new String("A String object");
56

const string4 = new String("A String object");
97

Trả về một chuỗi mới chứa các ký tự của chuỗi gọi từ (hoặc giữa) chỉ mục (hoặc các chỉ mục) đã chỉ định

const string4 = new String("A String object");
98

Các ký tự trong một chuỗi được chuyển đổi thành chữ thường trong khi tôn trọng ngôn ngữ hiện tại

Đối với hầu hết các ngôn ngữ, điều này sẽ trả về giống như

"cat".charAt(1); // gives value "a"
8

"cat".charAt(1); // gives value "a"
00

Các ký tự trong một chuỗi được chuyển đổi thành chữ hoa trong khi tôn trọng ngôn ngữ hiện tại

Đối với hầu hết các ngôn ngữ, điều này sẽ trả về giống như

"cat".charAt(1); // gives value "a"
7

"cat".charAt(1); // gives value "a"
02

Trả về giá trị chuỗi gọi được chuyển thành chữ thường

"cat".charAt(1); // gives value "a"
03

Trả về một chuỗi đại diện cho đối tượng được chỉ định. Ghi đè phương thức

"cat".charAt(1); // gives value "a"
04

"cat".charAt(1); // gives value "a"
05

Trả về giá trị chuỗi gọi được chuyển thành chữ hoa

"cat".charAt(1); // gives value "a"
06

Cắt khoảng trắng ở đầu và cuối chuỗi

"cat".charAt(1); // gives value "a"
07

Cắt khoảng trắng từ đầu chuỗi

"cat".charAt(1); // gives value "a"
08

Cắt khoảng trắng ở cuối chuỗi

"cat".charAt(1); // gives value "a"
09

Trả về giá trị nguyên thủy của đối tượng được chỉ định. Ghi đè phương thức

"cat".charAt(1); // gives value "a"
10

"cat".charAt(1); // gives value "a"
11

Trả về một đối tượng trình lặp mới lặp qua các điểm mã của giá trị Chuỗi, trả về mỗi điểm mã dưới dạng giá trị Chuỗi

Cảnh báo. không dùng nữa. Tránh các phương pháp này

Chúng được sử dụng hạn chế vì chúng dựa trên một tiêu chuẩn HTML rất cũ và chỉ cung cấp một tập hợp con các thẻ và thuộc tính HTML hiện có. Nhiều người trong số họ tạo đánh dấu không dùng nữa hoặc không chuẩn ngày nay. Ngoài ra, chúng thực hiện nối chuỗi đơn giản mà không có bất kỳ xác thực hoặc vệ sinh nào, điều này khiến chúng trở thành mối đe dọa bảo mật tiềm ẩn khi được chèn trực tiếp bằng cách sử dụng

"cat".charAt(1); // gives value "a"
12. Thay vào đó, hãy sử dụng API DOM chẳng hạn như
"cat".charAt(1); // gives value "a"
13

"cat".charAt(1); // gives value "a"
14 Không dùng nữa

(mục tiêu siêu văn bản)

"cat".charAt(1); // gives value "a"
16 Không dùng nữa
"cat".charAt(1); // gives value "a"
17
"cat".charAt(1); // gives value "a"
18 Không dùng nữa
"cat".charAt(1); // gives value "a"
19
"cat".charAt(1); // gives value "a"
20 Deprecated
"cat".charAt(1); // gives value "a"
21
"cat".charAt(1); // gives value "a"
22 Deprecated
"cat".charAt(1); // gives value "a"
23
"cat".charAt(1); // gives value "a"
24 Deprecated
"cat".charAt(1); // gives value "a"
26 Deprecated
"cat".charAt(1); // gives value "a"
28 Deprecated
"cat".charAt(1); // gives value "a"
29
"cat".charAt(1); // gives value "a"
30 Deprecated

(liên kết tới URL)

"cat".charAt(1); // gives value "a"
32 Không dùng nữa
"cat".charAt(1); // gives value "a"
33
"cat".charAt(1); // gives value "a"
34 Không dùng nữa
"cat".charAt(1); // gives value "a"
35
"cat".charAt(1); // gives value "a"
36 Deprecated
"cat".charAt(1); // gives value "a"
37
"cat".charAt(1); // gives value "a"
38 Deprecated
"cat".charAt(1); // gives value "a"
39

Lưu ý rằng các phương pháp này không kiểm tra xem bản thân chuỗi có chứa các thẻ HTML hay không, vì vậy có thể tạo HTML không hợp lệ

const string4 = new String("A String object");
4

Cách thoát duy nhất mà họ làm là thay thế

"cat".charAt(1); // gives value "a"
40 trong giá trị thuộc tính (đối với
"cat".charAt(1); // gives value "a"
41,
"cat".charAt(1); // gives value "a"
42,
"cat".charAt(1); // gives value "a"
43 và
"cat".charAt(1); // gives value "a"
44) bằng
"cat".charAt(1); // gives value "a"
45

const string4 = new String("A String object");
5

Có thể sử dụng

const string4 = new String("A String object");
7 như một giải pháp thay thế
const areEqual = (str1, str2, locale = "en-US") =>
  str1.localeCompare(str2, locale, { sensitivity: "accent" }) === 0;

areEqual("ß", "ss", "de"); // false
areEqual("ı", "I", "tr"); // true
1 đáng tin cậy hơn, vì nó hoạt động khi được sử dụng trên
const areEqualInUpperCase = (str1, str2) =>
  str1.toUpperCase() === str2.toUpperCase();
const areEqualInLowerCase = (str1, str2) =>
  str1.toLowerCase() === str2.toLowerCase();

areEqualInUpperCase("ß", "ss"); // true; should be false
areEqualInLowerCase("ı", "I"); // false; should be true
0 và
function areEqualCaseInsensitive(str1, str2) {
  return str1.toUpperCase() === str2.toUpperCase();
}
8. Ví dụ