Đầu ra của let x=2+5+ 3 trong javascript mcq là gì

Danh sách các câu hỏi trắc nghiệm để giúp bạn chuẩn bị cho bài kiểm tra năng khiếu JavaScript kỹ thuật

Ảnh của Artem Sapegin trên Bapt

JavaScript là ngôn ngữ lập trình phổ biến nhất trên thế giới và nó được sử dụng rộng rãi để phát triển web. Các nhà phát triển có nền tảng JavaScript có thể dễ dàng thực hành với các thư viện front-end như React

Điều này làm cho JavaScript trở thành ngôn ngữ phải biết đối với các chuyên gia. Do việc sử dụng rộng rãi JavaScript, nó mang lại rất nhiều cơ hội việc làm cho những người mới ra trường/chuyên gia. Nếu bạn đang chuẩn bị cho một cuộc phỏng vấn JavaScript, dưới đây là danh sách các câu hỏi mà bạn phải biết

Dưới đây là danh sách các câu hỏi JavaScript thường gặp nhất trên các nền tảng khác nhau được sử dụng để tiến hành vòng sàng lọc đầu tiên

  1. JavaScript là một ngôn ngữ đơn luồng

A. ĐÚNG VẬY
B. SAI

2. JavaScript sử dụng?

A. phạm vi nghĩa đen
B. phạm vi từ vựng
C. Phạm vi chức năng
D. phạm vi tuần tự

3. Điều gì sẽ là đầu ra của mã sau đây?

console.log["50" + 50 - 50]

A. 5000
B. 50
C. 500
D. 505050

4. Điều gì sẽ là đầu ra của những điều sau đây?

        function TnS_outer[]{
var a = 10 ;
function TnS_inner[]{
var b= 10 ;
return a + b ;
}
return TnS_inner[];
}
console.log[TnS_outer[]];

A. 10
B. 20
C. Không xác định
D. Lỗi

5. Khẳng định nào sau đây là đúng?

A. splice[] thay đổi mảng ban đầu, slice[] thì không
B. slice[] thay đổi mảng ban đầu, splice[] thì không
C. slice[] và splice[] đều thay đổi mảng ban đầu
D. slice[] và splice[] đều không thay đổi mảng ban đầu

6. Điều gì sẽ là đầu ra của hai mã sau đây?

      function TnS_add[a,b]
{
return a + b;
}
function TnS_spreadadd[...nums]{
var count = 0 ;
for[let num of nums]
{
count += num ;
}
return count ;
}

console.log[TnS_add[10,20,40] , TnS_spreadadd[10,20,40]]

A. Lỗi
B. 30, 70
C. Không xác định, 70
D. 30, 30

7. Thứ tự thực hiện sẽ như thế nào?

        console.log["A"]
setTimeout[function[]{ console.log["B"] }, 0];
console.log["C"]
setTimeout[function[]{ console.log["D"] }, 1000];

A. A B C D
B. A C B D
C. B D A C
D. D B A C

Để tiện theo dõi, mình đưa ra đáp án 7 câu trắc nghiệm đầu tiên tại đây

Ảnh của Usman Yousaf trên Bapt
  1. A
    ĐÚNG VẬY
    JavaScript là một ngôn ngữ đơn luồng. JavaScript chỉ có một ngăn xếp cuộc gọi và một đống bộ nhớ. Nó thực thi mã theo thứ tự mã được xác định, điều đó có nghĩa là JavaScript về bản chất là đồng bộ. Bản chất đồng bộ này có thể gây ra sự cố khi chúng tôi tìm nạp dữ liệu từ máy chủ hoặc sử dụng lệnh gọi ajax

2. b
Phạm vi từ vựng

3. MỘT
5000
console.log["50" + 50 - 50]-> Đầu tiên "50" + 50 = "5050" sau đó là “5050”- 50 sẽ thành 5000. Ở đây toán tử + sẽ thấy rằng toán hạng bên trái là một chuỗi và toán hạng bên phải là một số do đó nó sẽ chuyển đổi num thành chuỗi và sẽ nối vào đầu tiên. Toán tử phủ định [-] sẽ coi chuỗi là một số và sẽ thực hiện phép trừ

4. b
20
Ở đây có khái niệm phạm vi từ vựng. Trong JavaScript, các hàm lồng nhau có quyền truy cập vào các biến được khai báo trong phạm vi bên ngoài của chúng. TnS_outer[] tạo một biến cục bộ “a” và hàm

        function TnS_outer[]{
var a = 10 ;
function TnS_inner[]{
var b= 10 ;
return a + b ;
}
return TnS_inner[];
}
console.log[TnS_outer[]];
0 Trong hàm bên trong, chúng ta nhận được một biến cục bộ khác “b” và hàm bên trong có quyền truy cập vào biến hàm bên ngoài của nó. Do đó, chúng tôi nhận được kết quả của việc thêm cả hai biến

5. MỘT

        function TnS_outer[]{
var a = 10 ;
function TnS_inner[]{
var b= 10 ;
return a + b ;
}
return TnS_inner[];
}
console.log[TnS_outer[]];
1 thay đổi mảng ban đầu,
        function TnS_outer[]{
var a = 10 ;
function TnS_inner[]{
var b= 10 ;
return a + b ;
}
return TnS_inner[];
}
console.log[TnS_outer[]];
2 thì không
Bằng cách sử dụng
        function TnS_outer[]{
var a = 10 ;
function TnS_inner[]{
var b= 10 ;
return a + b ;
}
return TnS_inner[];
}
console.log[TnS_outer[]];
1, chúng ta có thể thêm hoặc xóa các mục khỏi một mảng hiện có. Nó sẽ trả về mảng mới mà phép cộng/trừ đã được thực hiện. Nếu không có phần tử nào bị loại bỏ,
        function TnS_outer[]{
var a = 10 ;
function TnS_inner[]{
var b= 10 ;
return a + b ;
}
return TnS_inner[];
}
console.log[TnS_outer[]];
4 sẽ trả về một mảng trống

        function TnS_outer[]{
var a = 10 ;
function TnS_inner[]{
var b= 10 ;
return a + b ;
}
return TnS_inner[];
}
console.log[TnS_outer[]];
5 sẽ không sửa đổi mảng ban đầu. Nó sẽ trả về một mảng mới được cắt/chọn từ mảng hiện tại bằng cách sử dụng vị trí bắt đầu và kết thúc được cung cấp trong lệnh gọi hàm. Nó sẽ chọn các phần tử cho đến hết nhưng sẽ loại trừ chỉ mục kết thúc

6. b
30, 70
Trong cuộc gọi đầu tiên

        function TnS_outer[]{
var a = 10 ;
function TnS_inner[]{
var b= 10 ;
return a + b ;
}
return TnS_inner[];
}
console.log[TnS_outer[]];
6, chúng tôi đang gọi một hàm chỉ chấp nhận hai tham số. Điều này là có thể vì trong JavaScript không có giới hạn tham số chức năng. Ở đây như
        function TnS_outer[]{
var a = 10 ;
function TnS_inner[]{
var b= 10 ;
return a + b ;
}
return TnS_inner[];
}
console.log[TnS_outer[]];
7 chỉ mong đợi hai tham số, nó sẽ chỉ chọn hai tham số đầu tiên và cộng chúng lại, kết quả là 30

Để xử lý các tình huống như vậy, chúng tôi có một toán tử trải rộng như được hiển thị trong

        function TnS_outer[]{
var a = 10 ;
function TnS_inner[]{
var b= 10 ;
return a + b ;
}
return TnS_inner[];
}
console.log[TnS_outer[]];
8Điều này sẽ trải rộng các phần tử mảng thành các phần tử riêng lẻ và bằng cách sử dụng một vòng lặp, chúng tôi có thể thực hiện thao tác trên các phần tử mảng theo yêu cầu của chúng tôi

7. b
A C B D
Ở đây, đầu ra đầu tiên sẽ là A. Sau đó đến chức năng

        function TnS_outer[]{
var a = 10 ;
function TnS_inner[]{
var b= 10 ;
return a + b ;
}
return TnS_inner[];
}
console.log[TnS_outer[]];
9 với độ trễ là 0 giây nhưng sẽ không được gọi ngay lập tức. Nó sẽ hoạt động như thế này vì
        function TnS_outer[]{
var a = 10 ;
function TnS_inner[]{
var b= 10 ;
return a + b ;
}
return TnS_inner[];
}
console.log[TnS_outer[]];
9 là một hàm không đồng bộ. Nó sẽ tạo một cuộc gọi lại và sẽ được đặt trên hàng đợi. Các cuộc gọi lại này trên hàng đợi sẽ được thực thi sau khi mã khác được thực thi xong. Do đó, đầu ra tiếp theo sẽ là C sau đó tiếp theo sẽ là B vì giá trị bộ định thời cao hơn so với D

Bây giờ chúng ta sẽ tiếp tục với phần còn lại của các câu hỏi

Ảnh của Towfiqu barbhuiya trên Bapt

8. Điều gì sẽ được xuất ra trên bảng điều khiển?

     for[var i=0 ;i

Chủ Đề