# Làm cách nào để sử dụng chế độ trong JavaScript?

``````//
// Calculating the average/mean
// https://www.sitepoint.com/community/t/calculating-the-average-mean/7302/3
//

/**
* The "mean" is the "average" you're used to, where you add up all the numbers
* and then divide by the number of numbers.
*
* For example, the "mean" of [3, 5, 4, 4, 1, 1, 2, 3] is 2.875.
*
* @param {Array} numbers An array of numbers.
* @return {Number} The calculated average (or mean) value from the specified
*     numbers.
*/
function mean(numbers) {
var total = 0, i;
for (i = 0; i < numbers.length; i += 1) {
total += numbers[i];
}
}

//
// alternative mean/average method (from https://www.30secondsofcode.org/snippet/average):
const mean = (...numbers) => numbers.reduce((acc, val) => acc + val, 0) / numbers.length;
//
// usage:
mean(...[1,2,3]); // 2
mean(...[0,1,2,3,4,5,6,7,8,9,10]); // 5
mean(...[1,2,3]); // 2

/**
* The "median" is the "middle" value in the list of numbers.
*
* @param {Array} numbers An array of numbers.
* @return {Number} The calculated median value from the specified numbers.
*/
function median(numbers) {
// median of [3, 5, 4, 4, 1, 1, 2, 3] = 3
var median = 0, numsLen = numbers.length;
numbers.sort();

if (
numsLen % 2 === 0 // is even
) {
// average of two middle numbers
median = (numbers[numsLen / 2 - 1] + numbers[numsLen / 2]) / 2;
} else { // is odd
// middle number only
median = numbers[(numsLen - 1) / 2];
}

return median;
}

/**
* The "mode" is the number that is repeated most often.
*
* For example, the "mode" of [3, 5, 4, 4, 1, 1, 2, 3] is [1, 3, 4].
*
* @param {Array} numbers An array of numbers.
* @return {Array} The mode of the specified numbers.
*/
function mode(numbers) {
// as result can be bimodal or multi-modal,
// the returned result is provided as an array
// mode of [3, 5, 4, 4, 1, 1, 2, 3] = [1, 3, 4]
var modes = [], count = [], i, number, maxIndex = 0;

for (i = 0; i < numbers.length; i += 1) {
number = numbers[i];
count[number] = (count[number] || 0) + 1;
if (count[number] > maxIndex) {
maxIndex = count[number];
}
}

for (i in count)
if (count.hasOwnProperty(i)) {
if (count[i] === maxIndex) {
modes.push(Number(i));
}
}

return modes;
}

/**
* The "range" of a list a numbers is the difference between the largest and
* smallest values.
*
* For example, the "range" of [3, 5, 4, 4, 1, 1, 2, 3] is [1, 5].
*
* @param {Array} numbers An array of numbers.
* @return {Array} The range of the specified numbers.
*/
function range(numbers) {
numbers.sort();
return [numbers[0], numbers[numbers.length - 1]];
}
``````

Phương thức thu thập mode(). js được sử dụng để trả về chế độ của khóa đã cho. Chế độ là giá trị xảy ra thường xuyên nhất trong một tập hợp các quan sát

cú pháp

`collect(array).mode(key)`

Thông số. Phương thức coll() lấy một đối số được chuyển đổi thành bộ sưu tập và sau đó phương thức mode() được áp dụng cho nó. Phương thức mode() giữ key như một tham số

Chế độ nghiêm ngặt là một tính năng mới trong ECMAScript 5 cho phép bạn đặt một chương trình hoặc một chức năng trong ngữ cảnh hoạt động "nghiêm ngặt". Bối cảnh nghiêm ngặt này ngăn không cho thực hiện một số hành động nhất định và đưa ra nhiều ngoại lệ hơn. Tuyên bố "sử dụng nghiêm ngặt";

Lợi ích của việc sử dụng 'sử dụng nghiêm ngặt'. Chế độ nghiêm ngặt thực hiện một số thay đổi đối với ngữ nghĩa JavaScript bình thường.

• Chế độ nghiêm ngặt loại bỏ một số lỗi im lặng của JavaScript bằng cách thay đổi chúng thành lỗi ném
• Chế độ nghiêm ngặt sửa lỗi khiến các công cụ JavaScript khó thực hiện tối ưu hóa. mã chế độ nghiêm ngặt đôi khi có thể được thực hiện để chạy nhanh hơn mã giống hệt nhau không phải là chế độ nghiêm ngặt
• Chế độ nghiêm ngặt cấm một số cú pháp có thể được xác định trong các phiên bản ECMAScript trong tương lai
• Nó ngăn chặn hoặc đưa ra lỗi khi thực hiện các hành động tương đối “không an toàn” (chẳng hạn như giành quyền truy cập vào đối tượng chung)
• Nó vô hiệu hóa các tính năng gây nhầm lẫn hoặc suy nghĩ kém
• Chế độ nghiêm ngặt giúp viết JavaScript “an toàn” dễ dàng hơn

Cách sử dụng chế độ nghiêm ngặt. Chế độ nghiêm ngặt có thể được sử dụng theo hai cách, hãy nhớ rằng chế độ nghiêm ngặt không hoạt động với các câu lệnh khối được đặt trong dấu ngoặc nhọn {}.

• Được sử dụng trong phạm vi toàn cầu cho toàn bộ tập lệnh
• Nó có thể được áp dụng cho các chức năng riêng lẻ

Sử dụng chế độ nghiêm ngặt cho toàn bộ tập lệnh. Để gọi chế độ nghiêm ngặt cho toàn bộ tập lệnh, hãy đặt câu lệnh chính xác “sử dụng nghiêm ngặt”; .

```// Whole-script strict mode syntax
'use strict';
let v = "strict mode script!";```

Cú pháp này có một luồng, không thể ghép nối một cách mù quáng các tập lệnh không xung đột. Xem xét việc nối tập lệnh chế độ nghiêm ngặt với tập lệnh chế độ không nghiêm ngặt. Toàn bộ phép nối có vẻ nghiêm ngặt, điều ngược lại cũng đúng. Không nghiêm ngặt cộng nghiêm ngặt có vẻ không nghiêm ngặt. Việc nối các tập lệnh chế độ nghiêm ngặt với nhau là tốt và việc nối các tập lệnh chế độ không nghiêm ngặt là tốt. Chỉ kết hợp các tập lệnh nghiêm ngặt và không nghiêm ngặt là có vấn đề. Do đó, bạn nên bật chế độ nghiêm ngặt trên cơ sở từng chức năng (ít nhất là trong giai đoạn chuyển đổi)

Sử dụng chế độ nghiêm ngặt cho một chức năng. Tương tự như vậy, để gọi chế độ nghiêm ngặt cho một chức năng, hãy đặt câu lệnh chính xác “sử dụng nghiêm ngặt”;

```function strict() {

// Function-level strict mode syntax
'use strict';

function nested() { return 'Javascript on GeeksforGeeks'; }

return "strict mode function!  " + nested();
}
function notStrict() { return "non strict function"; }```

Ví dụ về việc sử dụng chế độ Nghiêm ngặt.

• Thí dụ. Trong JavaScript bình thường, nhập sai tên biến sẽ tạo ra một biến toàn cục mới. Ở chế độ nghiêm ngặt, điều này sẽ gây ra lỗi, khiến không thể vô tình tạo biến toàn cục.

## Javascript

`// Using a variable, without declaring it, is not allowed:`

`'use strict'``;`

` ``x = 3.14; ``// will throw an error`

• đầu ra.

• Thí dụ. Sử dụng chế độ nghiêm ngặt, không cho phép sử dụng biến mà không khai báo.

## Javascript

`// Objects are variables too.`

`// Using an object, without declaring it, is not allowed:`

`'use strict'``;`

```function strict() {

// Function-level strict mode syntax
'use strict';

function nested() { return 'Javascript on GeeksforGeeks'; }

return "strict mode function!  " + nested();
}
function notStrict() { return "non strict function"; }```
2_______3_______3

```function strict() {

// Function-level strict mode syntax
'use strict';

function nested() { return 'Javascript on GeeksforGeeks'; }

return "strict mode function!  " + nested();
}
function notStrict() { return "non strict function"; }```
2______3_______5

• đầu ra.

• Thí dụ. Không được phép xóa một biến (hoặc đối tượng) và một chức năng.

## Javascript

`'use strict'``;`

` `

```function strict() {

// Function-level strict mode syntax
'use strict';

function nested() { return 'Javascript on GeeksforGeeks'; }

return "strict mode function!  " + nested();
}
function notStrict() { return "non strict function"; }```
9

`// Using a variable, without declaring it, is not allowed:`0

`'use strict'``;`

` ``// Using a variable, without declaring it, is not allowed:`4 `// Using a variable, without declaring it, is not allowed:`5

` `

```function strict() {

// Function-level strict mode syntax
'use strict';

function nested() { return 'Javascript on GeeksforGeeks'; }

return "strict mode function!  " + nested();
}
function notStrict() { return "non strict function"; }```
3

` ``// Using a variable, without declaring it, is not allowed:`9 `'use strict'`0

• đầu ra.

• Thí dụ. Sao chép tên tham số không được phép.

## Javascript

`'use strict'``;`

` `

```function strict() {

// Function-level strict mode syntax
'use strict';

function nested() { return 'Javascript on GeeksforGeeks'; }

return "strict mode function!  " + nested();
}
function notStrict() { return "non strict function"; }```
3

` ``// Using a variable, without declaring it, is not allowed:`4 `'use strict'`7

• đầu ra.

• Thí dụ. Chữ số bát phân không được phép.

## Javascript

`'use strict'``;`

` `

```function strict() {

// Function-level strict mode syntax
'use strict';

function nested() { return 'Javascript on GeeksforGeeks'; }

return "strict mode function!  " + nested();
}
function notStrict() { return "non strict function"; }```
3

` ``;`3

• đầu ra.

• Thí dụ. Ký tự thoát không được phép.

## Javascript

`'use strict'``;`

` `

```function strict() {

// Function-level strict mode syntax
'use strict';

function nested() { return 'Javascript on GeeksforGeeks'; }

return "strict mode function!  " + nested();
}
function notStrict() { return "non strict function"; }```
3

` ``;`9

• đầu ra.

• Thí dụ. Không được phép ghi vào thuộc tính chỉ đọc.

## Javascript

`'use strict'``;`

` `` `3

` `22_______5_______22_______6` `7` `8` `9

` `

```function strict() {

// Function-level strict mode syntax
'use strict';

function nested() { return 'Javascript on GeeksforGeeks'; }

return "strict mode function!  " + nested();
}
function notStrict() { return "non strict function"; }```
3

` ``x = 3.14; `3

• đầu ra.

• Thí dụ. Không được phép ghi vào thuộc tính chỉ nhận.

## Javascript

`'use strict'``;`

` ``x = 3.14; `7`x = 3.14; `8 `x = 3.14; `9

` `

```function strict() {

// Function-level strict mode syntax
'use strict';

function nested() { return 'Javascript on GeeksforGeeks'; }

return "strict mode function!  " + nested();
}
function notStrict() { return "non strict function"; }```
3

` ``// will throw an error`3

• đầu ra.

• Thí dụ. Không được phép xóa thuộc tính không thể xóa.

## Javascript

`'use strict'``;`

` `

```function strict() {

// Function-level strict mode syntax
'use strict';

function nested() { return 'Javascript on GeeksforGeeks'; }

return "strict mode function!  " + nested();
}
function notStrict() { return "non strict function"; }```
3

` ``// Using a variable, without declaring it, is not allowed:`9 `// Objects are variables too.`0

• đầu ra.

• Thí dụ. Không thể sử dụng chuỗi “eval” làm biến.

## Javascript

`'use strict'``;`

` `

```function strict() {

// Function-level strict mode syntax
'use strict';

function nested() { return 'Javascript on GeeksforGeeks'; }

return "strict mode function!  " + nested();
}
function notStrict() { return "non strict function"; }```
3

` ``// Objects are variables too.`6

• đầu ra.

• Thí dụ. Chuỗi "đối số" không thể được sử dụng làm biến.

## Javascript

`'use strict'``;`

` `

```function strict() {

// Function-level strict mode syntax
'use strict';

function nested() { return 'Javascript on GeeksforGeeks'; }

return "strict mode function!  " + nested();
}
function notStrict() { return "non strict function"; }```
3

` ``// Using an object, without declaring it, is not allowed:`2

• đầu ra.

• Thí dụ. Câu lệnh with không được phép.

## Javascript

`'use strict'``;`

` `

```function strict() {

// Function-level strict mode syntax
'use strict';

function nested() { return 'Javascript on GeeksforGeeks'; }

return "strict mode function!  " + nested();
}
function notStrict() { return "non strict function"; }```
3

` ``// Using an object, without declaring it, is not allowed:`8 `// Using an object, without declaring it, is not allowed:`9

• đầu ra.

Ghi chú. Trong các lệnh gọi hàm như f(), giá trị này là đối tượng toàn cục. Ở chế độ nghiêm ngặt, nó hiện không được xác định. Trong JavaScript bình thường, nhà phát triển sẽ không nhận được bất kỳ phản hồi lỗi nào khi gán giá trị cho các thuộc tính không thể ghi.

### Chế độ trong JavaScript là gì?

Tính toán chế độ của một tập hợp số hoặc danh sách có giá trị (số hoặc ký tự) . Nếu có nhiều hơn một chế độ, nó sẽ trả về một danh sách các giá trị đó.

### Làm cách nào để tìm trung bình và chế độ trung bình trong js?

Nó có thể được tính bằng cách cộng tất cả các số và chia cho kích thước mảng . Hãy tính giá trị trung bình cho mảng sau. [2, 4, 5, 7, 1, 8, 1]. Cộng tất cả các số. 2 + 4 + 5 + 7 + 1 + 8 + 1 = 28. Chia tổng cho kích thước. 28/7 = 4.

### Làm cách nào để áp dụng chế độ nghiêm ngặt trong JavaScript?

Khai báo Chế độ nghiêm ngặt . adding "use strict"; to the beginning of a script or a function.