Chức năng tích hợp javascript

Khi làm việc với bất kỳ ngôn ngữ lập trình nào, có thể bạn sẽ cần một số chức năng vốn không được tích hợp vào ngôn ngữ đó. Do đó, bạn sẽ tự triển khai chúng hoặc chuyển sang sử dụng các mô-đun hoặc thư viện khác nhau

Điều này ảnh hưởng trực tiếp đến hiệu quả của ứng dụng của bạn [sử dụng nhiều bộ nhớ hơn, nhiều yêu cầu HTTP hơn, v.v. ]. Để tránh điều này, các nhà phát triển làm việc trên các ngôn ngữ lập trình nâng cao đã tích hợp các chức năng trong các ngôn ngữ đó để giúp tránh phải sử dụng các thư viện bên ngoài cho các tác vụ thông thường

Làm quen với các hàm có sẵn này được coi là kiến ​​thức cơ bản về ngôn ngữ và bạn vẫn có thể tiến xa chỉ với các hàm có sẵn. Tất nhiên, rất có thể bạn sẽ sử dụng một số mô-đun/thư viện cho một số tác vụ nhất định

Trong hướng dẫn dành cho người mới bắt đầu này, chúng ta sẽ xem xét các chức năng tích hợp sẵn của JavaScript liên quan đến Chuỗi

Các kiểu dữ liệu, cấu trúc và đối tượng của JavaScript với các chức năng tích hợp

Trong JavaScript, có tám loại dữ liệu

  1. Sợi dây
  2. Con số
  3. Boolean
  4. Vô giá trị
  5. Chưa xác định
  6. Biểu tượng
  7. BigInt
  8. Sự vật

Tuy nhiên, không phải kiểu dữ liệu nào cũng có sẵn chức năng. Chúng chỉ được xác định trên. Chuỗi, Số và Boolean

Khi nói đến Cấu trúc dữ liệu trong JavaScript, bảy cấu trúc được sử dụng nhiều nhất là

  1. Mảng
  2. Cây rơm
  3. Xếp hàng
  4. Danh sách liên kết
  5. Cây
  6. đồ thị
  7. Hashtable

Tương tự như kiểu dữ liệu, trong Cấu trúc dữ liệu, các hàm dựng sẵn chỉ được định nghĩa trên Mảng. Cuối cùng, các Đối tượng trong JavaScript cũng có các hàm tích hợp, chẳng hạn như Ngày, RegExp và Toán học

Trong hướng dẫn này, chúng tôi sẽ tập trung cụ thể vào các chuỗi

Các hàm chuỗi tích hợp trong JavaScript

Một chuỗi, như đã đề cập trước đó, là một trong tám loại dữ liệu trong JavaScript. Về bản chất, nó là một mảng [chuỗi] ký tự

Ngoài ra, cần lưu ý rằng các chuỗi là bất biến - một khi đối tượng chuỗi được tạo, nó không thể thay đổi được. Mọi hàm thay đổi chuỗi sẽ tạo một đối tượng chuỗi mới và trả về nó, thay vì sửa đổi đối tượng ban đầu

Với thực tế là các chuỗi chỉ là mảng - bạn có thể coi chúng là mảng và truy xuất các phần tử thông qua ký hiệu

console.time['Concatenating with Operator'];
concatWithOperator[];
console.timeEnd['Concatenating with Operator'];

console.time['Concatenating with Function'];
concatWithFunction[];
console.timeEnd['Concatenating with Function'];

function concatWithOperator[] {
    let result = "";
    for [let i = 0; i < 10000; i++] {
      result = result += i;
    }
}

function concatWithFunction[] {
    let result = "";
    for [let i = 0; i < 10000; i++] {
      result = result.concat[i];
    }
}
6

Như đã nói, hãy bắt đầu với các hàm tích hợp liên quan đến chuỗi

toString[]

console.time['Concatenating with Operator'];
concatWithOperator[];
console.timeEnd['Concatenating with Operator'];

console.time['Concatenating with Function'];
concatWithFunction[];
console.timeEnd['Concatenating with Function'];

function concatWithOperator[] {
    let result = "";
    for [let i = 0; i < 10000; i++] {
      result = result += i;
    }
}

function concatWithFunction[] {
    let result = "";
    for [let i = 0; i < 10000; i++] {
      result = result.concat[i];
    }
}
7 là một trong những hàm được sử dụng phổ biến nhất liên quan đến chuỗi. Nó thuộc về tất cả các
Concatenating with Operator: 3.232ms
Concatenating with Function: 1.509ms
0 và trả về một biểu diễn chuỗi của đối tượng, chuyển đổi một cách hiệu quả một đối tượng thuộc bất kỳ loại nào thành biểu diễn chuỗi của nó

console.time['Concatenating with Operator'];
concatWithOperator[];
console.timeEnd['Concatenating with Operator'];

console.time['Concatenating with Function'];
concatWithFunction[];
console.timeEnd['Concatenating with Function'];

function concatWithOperator[] {
    let result = "";
    for [let i = 0; i < 10000; i++] {
      result = result += i;
    }
}

function concatWithFunction[] {
    let result = "";
    for [let i = 0; i < 10000; i++] {
      result = result.concat[i];
    }
}
7 sẽ hành xử khác nhau với từng đối tượng, tùy thuộc vào việc triển khai chức năng của nó - ý nghĩa của việc biểu diễn đối tượng đó dưới dạng chuỗi. Ngoài ra, hãy lưu ý rằng nếu bạn thay đổi bất kỳ phần tử nào trong một phép toán số học thành một chuỗi - JavaScript sẽ suy ra điều này như một nỗ lực ghép nối

Ở đây,

Concatenating with Operator: 3.232ms
Concatenating with Function: 1.509ms
2 thuộc loại Số vì chúng tôi đang thêm vào các biến loại Số cùng nhau và
Concatenating with Operator: 3.232ms
Concatenating with Function: 1.509ms
3 thuộc loại Chuỗi vì biến đầu tiên thuộc loại Chuỗi và
Concatenating with Operator: 3.232ms
Concatenating with Function: 1.509ms
4 đang được chuyển đổi nội bộ thành Chuỗi và được thêm vào
Concatenating with Operator: 3.232ms
Concatenating with Function: 1.509ms
5. Nếu bạn muốn chuyển đổi một kết quả số học thành một chuỗi - hãy đảm bảo thực hiện chuyển đổi cuối cùng

Concatenating with Operator: 3.232ms
Concatenating with Function: 1.509ms
6 thêm hai chuỗi lại với nhau và trả về một chuỗi mới

Về cơ bản nó thực hiện các hoạt động tương tự như

Thực sự nên sử dụng hàm

Concatenating with Operator: 3.232ms
Concatenating with Function: 1.509ms
6 thay vì toán hạng, do các lợi ích về hiệu suất. Tuy nhiên, bạn sẽ không thu được nhiều từ việc nối một chuỗi - bạn sẽ đạt được hiệu suất cho số lượng lớn chuỗi. Hãy điểm chuẩn nó thật nhanh

console.time['Concatenating with Operator'];
concatWithOperator[];
console.timeEnd['Concatenating with Operator'];

console.time['Concatenating with Function'];
concatWithFunction[];
console.timeEnd['Concatenating with Function'];

function concatWithOperator[] {
    let result = "";
    for [let i = 0; i < 10000; i++] {
      result = result += i;
    }
}

function concatWithFunction[] {
    let result = "";
    for [let i = 0; i < 10000; i++] {
      result = result.concat[i];
    }
}

Kết quả này trong

Concatenating with Operator: 3.232ms
Concatenating with Function: 1.509ms

Chức năng này nhanh hơn khoảng hai lần trên mã này. Cũng đáng lưu ý tuyên bố chính thức từ MDN, liên quan đến lợi ích hiệu suất

Chúng tôi khuyên bạn nên sử dụng các toán tử gán [+, +=] thay cho phương thức concat[]

Điều này có vẻ kỳ lạ, vì thực tế là

Concatenating with Operator: 3.232ms
Concatenating with Function: 1.509ms
6 vượt trội so với các toán tử trong các thử nghiệm. Đưa cái gì?

Trình duyệt của bạn, phiên bản của nó cũng như trình tối ưu hóa mà nó sử dụng có thể khác nhau giữa các máy và các thuộc tính như những thuộc tính đó thực sự ảnh hưởng đến hiệu suất. Chẳng hạn, chúng tôi đã sử dụng các chuỗi khác nhau trong phép nối, những chuỗi được tạo từ phép lặp. Nếu chúng ta sử dụng cùng một chuỗi, một trình tối ưu hóa chẳng hạn như V8 của Google sẽ tối ưu hóa hơn nữa việc sử dụng chuỗi

Theo nguyên tắc thông thường - kiểm tra và xác minh mã của riêng bạn thay vì nhận lời khuyên theo mệnh giá

toLocaleUpperCase[] và toUpperCase[]

Concatenating with Operator: 3.232ms
Concatenating with Function: 1.509ms
9 chuyển đổi chuỗi đã cho thành chữ hoa, tuân theo ngôn ngữ được sử dụng trên máy biên dịch mã. Ngoài ra, bạn có thể chỉ định ngôn ngữ thông qua đối số chuỗi

Trong hầu hết các trường hợp,

Concatenating with Operator: 3.232ms
Concatenating with Function: 1.509ms
10 và
Concatenating with Operator: 3.232ms
Concatenating with Function: 1.509ms
9 sẽ trả về cùng một kết quả, ngay cả khi bạn không cung cấp bộ xác định ngôn ngữ. Chỉ với ánh xạ unicode không chuẩn, chẳng hạn như với tiếng Thổ Nhĩ Kỳ, thì
Concatenating with Operator: 3.232ms
Concatenating with Function: 1.509ms
9 sẽ tạo ra các kết quả khác nhau

toLocaleLowerCase[] và toLowerCase[]

Concatenating with Operator: 3.232ms
Concatenating with Function: 1.509ms
13 hoạt động giống như
Concatenating with Operator: 3.232ms
Concatenating with Function: 1.509ms
9, nhưng chuyển đổi chuỗi thành chữ thường. Tương tự,
Concatenating with Operator: 3.232ms
Concatenating with Function: 1.509ms
15 là ngôn ngữ bất khả tri. Mặc dù vậy, hãy lưu ý rằng một số thông tin nhất định sẽ bị mất khi chuyển đổi giữa chữ hoa và chữ thường

Chẳng hạn, nếu chúng ta chuyển đổi

Concatenating with Operator: 3.232ms
Concatenating with Function: 1.509ms
16 thành chữ hoa, rồi chuyển lại thành chữ thường, bạn sẽ mất một số thông tin nhất định

Một lần nữa, điều này là do trong trường hợp này, tiếng Đức tuân theo ánh xạ Unicode tiêu chuẩn, do đó,

Concatenating with Operator: 3.232ms
Concatenating with Function: 1.509ms
13 tạo ra kết quả tương tự như
Concatenating with Operator: 3.232ms
Concatenating with Function: 1.509ms
15 - chỉ thay đổi từng ký tự thành ký tự viết thường của nó

chuỗi con[]

Concatenating with Operator: 3.232ms
Concatenating with Function: 1.509ms
19 trả về một chuỗi, chứa các ký tự bắt đầu từ chỉ mục
Concatenating with Operator: 3.232ms
Concatenating with Function: 1.509ms
10 của chuỗi gốc cho đến chỉ mục
Concatenating with Operator: 3.232ms
Concatenating with Function: 1.509ms
11 của chuỗi gốc

Như bạn có thể thấy, chỉ mục

Concatenating with Operator: 3.232ms
Concatenating with Function: 1.509ms
12 không bao gồm, vì vậy chuỗi xuất ra là từ
Concatenating with Operator: 3.232ms
Concatenating with Function: 1.509ms
10 đến
Concatenating with Operator: 3.232ms
Concatenating with Function: 1.509ms
11

Ngoài ra, điều này tất nhiên trả về một chuỗi mới, vì vậy bạn có thể nắm bắt nó bằng cách gán nó cho một biến tham chiếu mới hoặc chỉ sử dụng nó làm đầu vào cho một hàm mới. Chuỗi ban đầu không thay đổi

Nếu bạn cố gắng

Concatenating with Operator: 3.232ms
Concatenating with Function: 1.509ms
15 với một
Concatenating with Operator: 3.232ms
Concatenating with Function: 1.509ms
12 ngoài
Concatenating with Operator: 3.232ms
Concatenating with Function: 1.509ms
17 của chuỗi - bạn chỉ cần xâu con tất cả các ký tự hiện có cho đến hết

Hàm này đặc biệt hữu ích để cắt bớt đầu ra hoặc đầu vào hoặc thậm chí kiểm tra xem một chuỗi có bắt đầu bằng hoặc chứa một chuỗi con đã cho hay không

chất nền [bắt đầu, độ dài]

Tương tự như

Concatenating with Operator: 3.232ms
Concatenating with Function: 1.509ms
15, hàm
Concatenating with Operator: 3.232ms
Concatenating with Function: 1.509ms
19 được tạo bằng cách lấy một số ký tự nhất định từ một chuỗi gốc. Ở đây, chúng tôi chỉ định chỉ mục
Concatenating with Operator: 3.232ms
Concatenating with Function: 1.509ms
10 và kích thước của chuỗi con mong muốn, là
Concatenating with Operator: 3.232ms
Concatenating with Function: 1.509ms
17, thay vì điểm cuối cụ thể

Hãy xem hướng dẫn thực hành, thực tế của chúng tôi để học Git, với các phương pháp hay nhất, tiêu chuẩn được ngành chấp nhận và bao gồm bảng gian lận. Dừng các lệnh Git trên Google và thực sự tìm hiểu nó

Nếu độ dài vượt quá phạm vi của một chuỗi, bạn chỉ cần xâu con cho đến hết

tách ra[]

Hàm

Concatenating with Operator: 3.232ms
Concatenating with Function: 1.509ms
32 tách một chuỗi thành một mảng các chuỗi bằng cách sử dụng
Concatenating with Operator: 3.232ms
Concatenating with Function: 1.509ms
33 được cung cấp và thành một số phần
Concatenating with Operator: 3.232ms
Concatenating with Function: 1.509ms
34

Điều này có thể hữu ích để phân tích cú pháp các dòng CSV nếu bạn không sử dụng bất kỳ thư viện bên ngoài nào, vì chúng là các giá trị được phân tách bằng dấu phẩy, có thể dễ dàng phân tách thông qua hàm

Concatenating with Operator: 3.232ms
Concatenating with Function: 1.509ms
35. Tuy nhiên, khi xử lý các tệp CSV, bạn sẽ muốn thực hiện xác thực nếu chúng không được định dạng đúng

Thông thường, bạn sẽ sử dụng các thư viện cho việc này vì chúng giúp mọi việc dễ dàng hơn nhiều

Nếu bạn muốn đọc thêm về cách đọc tệp CSV bằng JavaScript, hãy đọc hướng dẫn của chúng tôi về Đọc và ghi CSV bằng nút-csv và Đọc và ghi CSV bằng nút. js

charAt[] và chuỗi [chỉ mục]

Hàm

Concatenating with Operator: 3.232ms
Concatenating with Function: 1.509ms
36 trả về ký tự tại
Concatenating with Operator: 3.232ms
Concatenating with Function: 1.509ms
37 đã chỉ định

Ví dụ, bạn có thể sử dụng điều này để lặp qua một chuỗi và truy xuất nội dung của nó

Concatenating with Operator: 3.232ms
Concatenating with Function: 1.509ms
1

Kết quả nào trong

Concatenating with Operator: 3.232ms
Concatenating with Function: 1.509ms
1

Sự khác biệt giữa

Concatenating with Operator: 3.232ms
Concatenating with Function: 1.509ms
38 và
Concatenating with Operator: 3.232ms
Concatenating with Function: 1.509ms
39 là gì?

Có một vài lý do tại sao bạn có thể thích

Concatenating with Operator: 3.232ms
Concatenating with Function: 1.509ms
30 hơn ký hiệu mảng

Tuy nhiên, một con dao hai lưỡi ẩn chứa trong việc triển khai hàm

Concatenating with Operator: 3.232ms
Concatenating with Function: 1.509ms
30 - nó đánh giá chỉ mục đã cho và xử lý nó

Đó là lý do tại sao

Concatenating with Operator: 3.232ms
Concatenating with Function: 1.509ms
32 được làm tròn xuống thành
Concatenating with Operator: 3.232ms
Concatenating with Function: 1.509ms
33. Nó cũng sẽ thực hiện bước xử lý này đối với các đầu vào có thể không thực sự hợp lệ, nhưng sẽ tạo ảo giác về mã chạy tốt

Concatenating with Operator: 3.232ms
Concatenating with Function: 1.509ms
3

Concatenating with Operator: 3.232ms
Concatenating with Function: 1.509ms
34 được chuyển đổi thành
Concatenating with Operator: 3.232ms
Concatenating with Function: 1.509ms
35, trong khi
Concatenating with Operator: 3.232ms
Concatenating with Function: 1.509ms
36 sẽ được chuyển đổi thành
Concatenating with Operator: 3.232ms
Concatenating with Function: 1.509ms
37.
Concatenating with Operator: 3.232ms
Concatenating with Function: 1.509ms
38,
Concatenating with Operator: 3.232ms
Concatenating with Function: 1.509ms
39, một mảng trống và một chuỗi rỗng cũng được chuyển đổi thành
Concatenating with Operator: 3.232ms
Concatenating with Function: 1.509ms
37, vì vậy điều này vẫn chạy tốt, mặc dù theo trực giác thì không nên

Concatenating with Operator: 3.232ms
Concatenating with Function: 1.509ms
3

Mặt khác, sử dụng ký hiệu mảng hiện đại hơn

Concatenating with Operator: 3.232ms
Concatenating with Function: 1.509ms
6

Những điều này tạo ra một kết quả trực quan hơn, biểu thị sự thất bại của đầu vào

Concatenating with Operator: 3.232ms
Concatenating with Function: 1.509ms
7

Chỉ số[]

Concatenating with Operator: 3.232ms
Concatenating with Function: 1.509ms
61 trả về giá trị chỉ mục của lần xuất hiện đầu tiên của
Concatenating with Operator: 3.232ms
Concatenating with Function: 1.509ms
62 đã chỉ định

Nếu ký tự không tồn tại,

Concatenating with Operator: 3.232ms
Concatenating with Function: 1.509ms
63 được trả về

Bạn cũng có thể tùy chọn bỏ qua

Concatenating with Operator: 3.232ms
Concatenating with Function: 1.509ms
64 ký tự đầu tiên bằng cách chỉ định một
Concatenating with Operator: 3.232ms
Concatenating with Function: 1.509ms
65 làm đối số thứ hai

Ở đây, chúng tôi bỏ qua 3 ký tự đầu tiên [lập chỉ mục dựa trên 0] và bắt đầu đếm từ ký tự thứ 4. Ngẫu nhiên, ký tự thứ 4 là một

Concatenating with Operator: 3.232ms
Concatenating with Function: 1.509ms
66 mà chúng tôi đang tìm kiếm, vì vậy chỉ mục được trả về

lastIndexOf[]

Concatenating with Operator: 3.232ms
Concatenating with Function: 1.509ms
67 trả về giá trị chỉ mục của lần xuất hiện cuối cùng của
Concatenating with Operator: 3.232ms
Concatenating with Function: 1.509ms
62 đã chỉ định

Phần lớn các quy tắc tương tự được áp dụng cho hàm

Concatenating with Operator: 3.232ms
Concatenating with Function: 1.509ms
69

Phương thức đếm ngược từ cuối chuỗi, nhưng nếu chúng ta cung cấp đối số

Concatenating with Operator: 3.232ms
Concatenating with Function: 1.509ms
65 ở đây, thì chỉ mục được tính từ bên trái. Trong trường hợp của chúng ta

Concatenating with Operator: 3.232ms
Concatenating with Function: 1.509ms
71 đếm từ
Concatenating with Operator: 3.232ms
Concatenating with Function: 1.509ms
72 đến
Concatenating with Operator: 3.232ms
Concatenating with Function: 1.509ms
37, vì chúng tôi đã đặt
Concatenating with Operator: 3.232ms
Concatenating with Function: 1.509ms
65 thành
Concatenating with Operator: 3.232ms
Concatenating with Function: 1.509ms
72

Tìm kiếm[]

Hàm

Concatenating with Operator: 3.232ms
Concatenating with Function: 1.509ms
76 tìm kiếm một
Concatenating with Operator: 3.232ms
Concatenating with Function: 1.509ms
77 và nếu tìm thấy, trả về chỉ mục của phần đầu của chuỗi tìm thấy

Trong trường hợp có nhiều chuỗi khớp với từ khóa tìm kiếm, chẳng hạn như

Concatenating with Operator: 3.232ms
Concatenating with Function: 1.509ms
78, chỉ chỉ mục bắt đầu của trường hợp khớp đầu tiên được trả về

Sự kết luận

JavaScript là ngôn ngữ phổ biến rộng rãi, phổ biến trên web và việc làm quen với các chức năng tích hợp cơ bản sẽ giúp bạn tránh sử dụng các thư viện bên ngoài không cần thiết, khi bạn có thể đạt được kết quả trong vanilla JS

Trong hướng dẫn này, chúng ta đã xem xét các hàm tích hợp sẵn của chuỗi - một trong những loại dữ liệu phổ biến nhất có sẵn trong JavaScript

Các hàm dựng sẵn trong JavaScript là gì?

JavaScript có 5 chức năng được tích hợp sẵn trong ngôn ngữ. Chúng là eval, parseInt, parseFloat, escape và unescape. .
Đối với các ký tự chữ và số, ký tự tương tự [i. e. chức năng không có tác dụng]
Đối với ký tự khoảng trắng, dấu +

Những gì được xây dựng trong chức năng?

Hàm tích hợp là hàm mà trình biên dịch tạo mã nội tuyến tại thời điểm biên dịch . Mỗi cuộc gọi đến một chức năng tích hợp sẽ loại bỏ một cuộc gọi thời gian chạy đến chức năng có cùng tên trong thư viện động.

Đối tượng tích hợp sẵn trong JavaScript là gì?

Các đối tượng tích hợp sẵn là Ngày, Toán, Chuỗi, Mảng và Đối tượng . Mỗi cái được sử dụng theo một cách duy nhất và không hoàn toàn nhất quán.

Làm cách nào để gọi một phương thức tích hợp trong JavaScript?

Vì các phương thức JavaScript là các hành động có thể được thực hiện trên các đối tượng nên trước tiên chúng ta cần có các đối tượng để bắt đầu. Có một số đối tượng được tích hợp trong JavaScript mà chúng ta có thể sử dụng. .
một khoảng thời gian [toán tử dấu chấm]
tên của phương pháp
mở và đóng dấu ngoặc đơn

Chủ Đề