Viết, Chạy & Chia sẻ mã Javascript trực tuyến bằng trình biên dịch trực tuyến JS của OneCompiler miễn phí. Đây là một trong những trình biên dịch trực tuyến mạnh mẽ, giàu tính năng dành cho ngôn ngữ Javascript. Bắt đầu với trình soạn thảo Javascript của OneCompiler thật dễ dàng và nhanh chóng. Trình chỉnh sửa hiển thị mã soạn sẵn mẫu khi bạn chọn ngôn ngữ là Javascript và bắt đầu viết mã
Javascript [JS] là ngôn ngữ lập trình hướng đối tượng tuân theo Tiêu chuẩn tập lệnh ECMA. Javascript là cần thiết để thiết kế hành vi của các trang web
- Mã nguồn mở
- Ngôn ngữ được biên dịch đúng lúc
- Được nhúng cùng với HTML và làm cho các trang web trở nên sống động
- Ban đầu được đặt tên là LiveScript
- Có thể thực thi trong cả trình duyệt và máy chủ có các công cụ Javascript như V8 [chrome], SpiderMonkey [Firefox], v.v.
sự định nghĩa biến
KeywordDescriptionScopevarVar dùng để khai báo biến [cách khai báo biến cũ] Hàm hoặc scopeletlet toàn cục cũng dùng để khai báo biến [cách mới] Scopeconst toàn cục hoặc khối dùng để khai báo giá trị const. Sau khi giá trị được gán, nó không thể được sửa đổi Phạm vi toàn cầu hoặc khốiBacktick Chuỗi
nội suy
let greetings = `Hello ${name}`
Chuỗi nhiều dòng
const msg = `
hello
world!
`
Mảng
Một mảng là một tập hợp các mục hoặc giá trị
cú pháp
let arrayName = [value1, value2,..etc];
// or
let arrayName = new Array["value1","value2",..etc];
Thí dụ
let mobiles = ["iPhone", "Samsung", "Pixel"];
// accessing an array
console.log[mobiles[0]];
// changing an array element
mobiles[3] = "Nokia";
chức năng mũi tên
Arrow Functions giúp các nhà phát triển viết mã một cách ngắn gọn, được giới thiệu trong ES6.
Các hàm mũi tên có thể được viết theo nhiều cách. Dưới đây là một số cách để sử dụng chức năng mũi tên nhưng nó cũng có thể được viết theo nhiều cách khác.
cú pháp
[] => expression
Thí dụ
const numbers = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
const squaresOfEvenNumbers = numbers.filter[ele => ele % 2 == 0]
.map[ele => ele ** 2];
console.log[squaresOfEvenNumbers];
hủy cấu trúc
Mảng
let [firstName, lastName] = ['Foo', 'Bar']
Các đối tượng
let {firstName, lastName} = {
firstName: 'Foo',
lastName: 'Bar'
}
Lên đỉnh[. ] nhà điều hành
________số 8Truyền đi[. ] nhà điều hành
//Object spread
const post = {
...options,
type: "new"
}
//array spread
const users = [
...adminUsers,
...normalUsers
]
Chức năng
const msg = `
hello
world!
`
0vòng lặp
1. Nếu
IF được sử dụng để thực thi một khối mã dựa trên một điều kiện
cú pháp
const msg = `
hello
world!
`
12. Nếu khác
Phần khác được sử dụng để thực thi khối mã khi điều kiện không thành công
cú pháp
const msg = `
hello
world!
`
23. Công tắc
Switch được sử dụng để thay thế các câu lệnh If-Else lồng nhau
cú pháp
const msg = `
hello
world!
`
34. Vì
Vòng lặp for được sử dụng để lặp lại một tập hợp các câu lệnh dựa trên một điều kiện
const msg = `
hello
world!
`
45. Trong khi
While cũng được sử dụng để lặp lại một tập hợp các câu lệnh dựa trên một điều kiện. Thông thường, while được ưu tiên khi không biết trước số lần lặp
const msg = `
hello
world!
`
56. Làm trong khi
Do-while cũng được sử dụng để lặp lại một tập hợp các câu lệnh dựa trên một điều kiện. Nó chủ yếu được sử dụng khi bạn cần thực hiện các câu lệnh ít nhất một lần
const msg = `
hello
world!
`
6Các lớp học
ES6 đã giới thiệu các lớp cùng với các khái niệm OOPS trong JS. Lớp tương tự như một chức năng mà bạn có thể nghĩ giống như một loại khuôn mẫu sẽ được gọi khi bạn khởi tạo lớp
Tôi đã gặp sự cố với mảng nhiều chiều và bạn cần sử dụng đệ quy để giải quyết sự cố. Dưới đây là hai ví dụ về những vấn đề như vậy
- Bài toán đầu tiên là tính tổng các phần tử của mảng, cho một mảng nhiều chiều. Ví dụ, đưa ra
const msg = `
hello
world!
`
7Vào chế độ toàn màn hình Thoát chế độ toàn màn hình
Tổng sẽ là 11.
Đây là mã của tôi sử dụng đệ quy để giải quyết vấn đề.
const msg = `
hello
world!
`
8Vào chế độ toàn màn hình Thoát chế độ toàn màn hình
Đầu tiên, khởi tạo một biến sum. Sau đó lặp qua mảng. Kiểm tra xem arr[i] có phải là một mảng hay không bằng cách sử dụng Array. làArray. Nếu nó là một mảng, hãy gọi lại hàm sumArrays trên phần tử và thêm tổng vào biến tổng. Nếu phần tử không phải là một mảng, chỉ cần thêm phần tử vào tổng.
Ví dụ, phần tử đầu tiên 1 không phải là một mảng, vì vậy hãy thêm 1 vào tổng, vì vậy tổng bây giờ là 1. Phần tử thứ hai [1,2,[3,4]] là một mảng, vì vậy hãy gọi sumArrays trên đó. Nó sẽ lặp qua phần tử và kiểm tra từng phần tử trong mảng. 1, 2 là các phần tử nên cộng nó vào tổng. [3,4] là mảng nên lặp lại lần nữa và thêm các phần tử vào tổng.
- Ví dụ thứ hai là sử dụng đệ quy để làm phẳng một mảng nhiều chiều. Bạn muốn mảng một chiều có tất cả các phần tử trong mảng nhiều chiều. ví dụ đã cho
const msg = `
hello
world!
`
9Vào chế độ toàn màn hình Thoát chế độ toàn màn hình
bạn muốn
let arrayName = [value1, value2,..etc];
// or
let arrayName = new Array["value1","value2",..etc];
0Vào chế độ toàn màn hình Thoát chế độ toàn màn hình
Đây là mã của tôi
let arrayName = [value1, value2,..etc];
// or
let arrayName = new Array["value1","value2",..etc];
1Vào chế độ toàn màn hình Thoát chế độ toàn màn hình
Ở đây tôi đang sử dụng hàm rút gọn để nối các phần tử của mảng với biến bộ tích lũy bắt đầu dưới dạng một mảng trống. Trong hàm rút gọn của tôi, IN nối phần tử vào mảng bộ tích lũy. Tôi kiểm tra xem phần tử có phải là một mảng hay không, nếu vậy, tôi gọi hàm flattenArray trên nó theo cách đệ quy. Nếu không, tôi chỉ nối phần tử vào mảng
Tôi hy vọng điều này sẽ làm sáng tỏ bất kỳ sự nhầm lẫn nào liên quan đến đệ quy trong mảng nhiều chiều. Hy vọng điều này đã giúp