6 hàm Killer Utility trong JavaScript

Đây là một phần mở rộng cho 7 Killer One-Liners của tuần trước trong JavaScript . Nếu bạn chưa đọc bài báo, bạn rất nên làm như vậy.

1. Kiểm tra xem một phần tử có hiển thị trong khung nhìn không

IntersectionObserverlà một cách tuyệt vời để kiểm tra xem một phần tử có hiển thị trong khung nhìn hay không .

const callback = (entries) => {
  entries.forEach((entry) => {
    if (entry.isIntersecting) {
      // `entry.target` is the dom element
      console.log(`${entry.target.id} is visible`);
    }
  });
};
const options = {
  threshold: 1.0,
};
const observer = new IntersectionObserver(callback, options);
const btn = document.getElementById("btn");
const bottomBtn = document.getElementById("bottom-btn");
observer.observe(btn);
observer.observe(bottomBtn);

2. Phát hiện thiết bị

Bạn có thể sử dụng navigator.userAgentđể có được những thông tin chi tiết và phát hiện thiết bị đang chạy ứng dụng

const detectDeviceType = () =>
  /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(
    navigator.userAgent
  )
    ? "Mobile"
    : "Desktop";
console.log(detectDeviceType());

Bạn chỉ có thể chuyển đổi chế độ hiển thị của một phần tử bằng cách sử dụng thuộc style.visibilitytính và trong trường hợp bạn muốn xóa nó khỏi luồng kết xuất , bạn có thể sử dụng thuộc style.displaytính.

const hideElement = (element, removeFromFlow = false) => {
  removeFromFlow
    ? (element.style.display = "none")
    : (element.style.visibility = "hidden");
};

4. Lấy các tham số từ URL

JavaScript làm cho việc tìm nạp parameterstừ bất kỳ địa chỉ nào trở thành một cuộc đi bộ trong công viên bằng cách sử dụng URLđối tượng.

const url = new URL(window.location.href);
const paramValue = url.searchParams.get("paramName");
console.log(paramValue);

Bạn có thể deep copybất kỳ đối tượng nào bằng cách chuyển đổi nó thành một chuỗi và quay lại một đối tượng .

const deepCopy = (obj) => JSON.parse(JSON.stringify(obj));

JavaScript cung cấp một setTimeouthàm, nhưng nó không trả về một Promiseđối tượng, khiến nó khó sử dụng async functions. Vì vậy chúng ta phải viết hàm wait/ của riêng mình sleep.

const wait = (ms) => new Promise((resolve) => setTimeout(resolve, ms));
const asyncFunc = async () => {
  await wait(1000);
  console.log("async");
};
asyncFunc();

Theo dõi tôi để biết các mẩu tin mới hàng tuần về lĩnh vực công nghệ

Cần một Freelancer phát triển Front-End được xếp hạng cao nhất để giảm bớt những rắc rối trong quá trình phát triển của bạn? Liên hệ với tôi trên Upwork

Bạn muốn xem những gì tôi đang làm? Kiểm tra Trang web Cá nhân của tôi và GitHub

Bạn muốn kết nối? Liên hệ với tôi trên LinkedIn

Tôi là một freelancer, người sẽ bắt đầu với tư cách là một Digital Nomad vào giữa năm 2022. Bạn muốn nắm bắt cuộc hành trình? Theo dõi tôi trên Instagram

Suggested posts

Tại sao một số dịch giả tự do đang giả mạo cuộc sống của họ

Tại sao một số dịch giả tự do đang giả mạo cuộc sống của họ

Gần đây, tôi đã truy cập Linkedin, mạng xã hội chuyên nghiệp lớn nhất thế giới và tìm thấy các bài đăng của các nhà thiết kế tự do mà tôi theo dõi, những người đã thu hút sự chú ý của tôi. Tất cả họ đều đăng ảnh chụp từ máy bay, trên bãi biển với máy tính xách tay của họ, từ bể bơi và văn phòng với những khung cảnh tuyệt vời.

Cách cứu hành tinh và kiếm tiền

Cách cứu hành tinh và kiếm tiền

Đã bao nhiêu lần bạn vứt bỏ chai nhựa, lọ thủy tinh, lon nhôm hay gói năng lượng xanh mà không cần suy nghĩ kỹ? Đã bao nhiêu lần bạn ước mình có thể nhận được thứ gì đó để đổi lại việc tái chế chúng? Nếu bạn giống như hầu hết mọi người, câu trả lời có lẽ là nhiều lần. Tái chế thường được coi là một rắc rối, một công việc vặt hoặc một nhiệm vụ không mang lại bất kỳ lợi ích tức thời hoặc hữu hình nào.

Related posts

Học tập trong tuần làm việc quan trọng hơn bạn nghĩ

Học tập trong tuần làm việc quan trọng hơn bạn nghĩ

Chúng ta thường thấy mình phải vật lộn để thực hiện những gì chúng ta biết là tốt cho chúng ta. Từ việc nói với một người quan trọng khác rằng chúng ta yêu họ đến việc nhớ nói chuyện như một tên cướp biển, sẽ luôn có những người cho rằng không cần thiết phải tổ chức các sự kiện trong ngày, tuần hoặc tháng vì họ đã làm những việc đó rồi.

Màn Đơn Ca Của Cô Gái Tóc Đỏ

Theo sự phân công của Hayden, Katie tự quay phim thủ dâm.

Màn Đơn Ca Của Cô Gái Tóc Đỏ

Sau nửa đêm, Hayden lái xe chở Katie trở lại ký túc xá đại học của cô ấy sau buổi tối bên nhau. Cô có một lớp học sớm vào buổi sáng và không có quần áo để thay sau khi ở lại với anh ta đêm hôm trước.

Thử thách đọc Goodreads là độc hại

Thử thách đọc Goodreads là độc hại

Tay tôi ngứa ngáy lan rộng khi tôi mặc cả với người bán sách địa phương để mua một cuốn sách khác. Cuốn sách này giống như những cuốn còn lại mà tôi đã mua gần đây sẽ lên ngôi trong đống 'Cần đọc' (TBR) của tôi; tuy nhiên, tôi đã mua nó.

Tạo Môi Trường Làm Việc An Toàn

Tạo Môi Trường Làm Việc An Toàn

“Anh ấy sẽ bảo vệ tôi khi tôi gặp nguy hiểm. Anh ấy sẽ giấu tôi trong lều của anh ấy.