Javascript nên ở trên cùng hay dưới cùng?

As we know that HTML is loaded and executed line by line. So, when the browser encounters a tag, it loads and executes the javascript code on the spot. This may slow down the page rendering speed and thus webpage will take more time to load.

<body> <!-- Other contents --> <!-- ... --> <script src="myscripts.js"></script> </body>

Javascript is often used to manipulate DOM and add new functionality to the webpage. If tag is not added at end of the tag, DOM may not be ready by that time, thus preventing javascript to work on it, leading to unknown behaviors.

Do đó, chúng ta nên luôn thêm thẻ vào cuối thẻ để ngăn chặn các hành vi không xác định và giúp trang web tải nhanh hơn

Biến cục bộ phải được khai báo bằng từ khóa var, let hoặc const, nếu không chúng sẽ trở thành biến toàn cục

Chế độ nghiêm ngặt không cho phép các biến không được khai báo

Tuyên bố trên đầu trang

Thực hành mã hóa tốt là đặt tất cả các khai báo ở đầu mỗi tập lệnh hoặc hàm

Điều này sẽ

  • Cung cấp mã sạch hơn
  • Cung cấp một nơi duy nhất để tìm kiếm các biến cục bộ
  • Làm cho nó dễ dàng hơn để tránh các biến toàn cầu (ngụ ý) không mong muốn
  • Giảm khả năng khai báo lại không mong muốn

// Khai báo ngay từ đầu
let FirstName, lastName, price, discount, fullPrice;

// Sử dụng sau
firstName = "John";
lastName = "Doe";

giá = 19. 90;
giảm giá = 0. 10;

fullPrice = giá - chiết khấu;

Điều này cũng áp dụng cho các biến vòng lặp

for (cho i = 0; i < 5; i++) {

Khởi tạo biến

Đó là một thực hành mã hóa tốt để khởi tạo các biến khi bạn khai báo chúng

Điều này sẽ

  • Cung cấp mã sạch hơn
  • Cung cấp một nơi duy nhất để khởi tạo các biến
  • Tránh các giá trị không xác định

// Khai báo và khởi tạo ngay từ đầu
let firstName = "";
let lastName = "";
let price = 0;
let discount = 0;
let fullPrice = 0,
const myArray = [];
const myObject = {};

Việc khởi tạo biến cung cấp ý tưởng về mục đích sử dụng (và kiểu dữ liệu dự định)

Khai báo các đối tượng với const

Khai báo các đối tượng với const sẽ ngăn chặn bất kỳ sự thay đổi loại ngẫu nhiên nào

Thí dụ

let xe = {type. "Fiat", mô hình. "500", màu. "white"};
car = "Fiat";

const xe = {type. "Fiat", mô hình. "500", màu. "white"};
car = "Fiat";

Khai báo mảng với const

Khai báo mảng với const sẽ ngăn chặn sự thay đổi loại ngẫu nhiên

Thí dụ

let cars = ["Saab", "Volvo", "BMW"];
cars = 3;

const cars = ["Saab", "Volvo", "BMW"];
cars = 3;

Không sử dụng đối tượng mới()

  • Sử dụng "" thay vì new String()
  • Sử dụng 0 thay vì new Number()
  • Sử dụng ==0 thay vì ==1
  • Sử dụng ==2 thay vì ==3
  • Sử dụng ==4 thay vì ==5
  • Sử dụng ==6 thay vì ==7
  • Sử dụng ==8 thay vì ==9

Thí dụ

let x1 = "";
let x2 = 0;              // new primitive number
let x3 = false;          // new primitive boolean
const x4 = {};           // new object
const x5 = [];           // new array object
const x6 = /()/;         // new regexp object
const x7 = function(){}; // new function object

Tự mình thử »

Cẩn thận với chuyển đổi loại tự động

JavaScript được gõ lỏng lẻo

Một biến có thể chứa tất cả các kiểu dữ liệu

Một biến có thể thay đổi kiểu dữ liệu của nó

Thí dụ

let x = "Xin chào";
x = 5;               // changes typeof x to a number

Tự mình thử »

Coi chừng các số có thể vô tình được chuyển đổi thành chuỗi hoặc var80 (Không phải là số)

Khi thực hiện các phép toán, JavaScript có thể chuyển đổi số thành chuỗi

Thí dụ

hãy x = 5 + 7; . valueOf() là 12,  typeof x là một số
let x = 5 + "7"; . valueOf() là 57,  typeof x là một chuỗi
let x = "5" + 7; . valueOf() là 57,  typeof x là một chuỗi
let x = 5 - 7; . valueOf() là -2,  typeof x là một số
let x = 5 - "7"; . valueOf() là -2,  typeof x là một số
let x = "5" - 7; . valueOf() là -2,  typeof x là một số
let x = 5 - "x"; . valueOf() là NaN, typeof x là một số

Tự mình thử »

Trừ một chuỗi từ một chuỗi, không tạo ra lỗi nhưng trả về var80 (Không phải là số)

Sử dụng === So sánh

Toán tử so sánh == luôn chuyển đổi (thành các loại phù hợp) trước khi so sánh

Toán tử var83 buộc so sánh các giá trị và loại

Thí dụ

0 == "";
1 == "1";       // true
1 == true;      // true

0 === "";
1 === "1";      // false
1 === true;     // false

Tự mình thử »

Sử dụng mặc định tham số

Nếu một hàm được gọi với một đối số bị thiếu, thì giá trị của đối số bị thiếu sẽ được đặt thành var84

Các giá trị không xác định có thể phá vỡ mã của bạn. Đó là một thói quen tốt để gán các giá trị mặc định cho các đối số

ECMAScript 2015 cho phép tham số mặc định trong định nghĩa hàm

hàm (a=1, b=1) { /*mã hàm*/ }

Đọc thêm về tham số hàm và đối số tại Tham số hàm

Kết thúc công tắc của bạn với mặc định

Luôn kết thúc các câu lệnh var85 của bạn bằng một ____186. Ngay cả khi bạn nghĩ rằng không cần nó

Thí dụ

chuyển đổi (Ngày mới(). getDay()) {
  trường hợp 0.
    ngày = "Chủ Nhật";
    nghỉ;
  trường hợp 1.
    ngày = "Thứ Hai";
    nghỉ;
  trường hợp 2.
    ngày = "Thứ Ba";
    nghỉ;
  trường hợp 3.
    ngày = "Thứ Tư";
    nghỉ;
  trường hợp 4.
    ngày = "thứ Năm";
    nghỉ;
  trường hợp 5.
    ngày = "Thứ Sáu";
    nghỉ;
  trường hợp 6.
    ngày = "Thứ Bảy";
    nghỉ;
  mặc định.
    day = "Không xác định";
}

Tự mình thử »

Tránh Số, Chuỗi và Boolean làm Đối tượng

Luôn coi số, chuỗi hoặc booleans là giá trị nguyên thủy. Không phải là đối tượng

Khai báo các loại này dưới dạng đối tượng, làm chậm tốc độ thực thi và tạo ra các tác dụng phụ khó chịu

Thí dụ

let x = "John";
let y = new String("John");
(x === y) // .

Tự mình thử »

Hoặc thậm chí tệ hơn

Thí dụ

let x = new String("John");
let y = new String("John");
(x == y .

Tự mình thử »

Tránh sử dụng eval()

Hàm var8 được sử dụng để chạy văn bản dưới dạng mã. Trong hầu hết các trường hợp, không cần thiết phải sử dụng nó

JavaScript nên ở trên cùng hay dưới cùng?

Cách tốt nhất là đặt thẻ JavaScript HTML tải từ trên xuống dưới . Đầu tải trước, sau đó đến cơ thể và sau đó là mọi thứ bên trong cơ thể.

Tại sao JavaScript phải ở dưới cùng?

Nếu bạn bao gồm các tệp js bên ngoài ở cuối trang của mình, bạn ưu tiên các yêu cầu HTTP của mình cho màn hình trực quan sẽ được hiển thị cho khách hàng thay vì cho . .

Mã JavaScript của bạn nên được đặt ở đâu?

Thẻ . between and tags.

Đặt mã JavaScript ở đầu hay cuối trang web sẽ tốt hơn?

Thẻ script phải luôn được sử dụng trước khi đóng phần thân hoặc ở dưới cùng trong tệp HTML . Trang sẽ tải bằng HTML và CSS và sau đó JavaScript sẽ tải.

Chủ đề