Heim > Web-Frontend > js-Tutorial > Hauptteil

Ein Artikel, der 5 Tipps zur JavaScript-Codeoptimierung zusammenfasst

藏色散人
Freigeben: 2023-03-09 11:51:32
nach vorne
1505 Leute haben es durchsucht

In diesem Artikel stellen wir 5 Tipps zur Codeoptimierung vor, die dabei helfen, effizienteren und eleganteren Code zu schreiben. Diese Techniken reichen von der Verwendung von Spread-Operatoren zur Vereinfachung von Code bis hin zur Verwendung von async/await zur Verarbeitung von asynchronem Code. async/await 处理异步代码等。

1. 使用扩展运算符解构对象和数组

扩展运算符由三个点 ... 表示,可用于对象和数组的解构。对于对象,它允许使用另一个对象的属性子集轻松创建一个新对象。

const numbersObj = { a: 1, b: 2, c: 3 };
const newObject = { ...numbersObj, b: 4 };
console.log(newObject); // { a: 1, b: 4, c: 3 }
Nach dem Login kopieren

对于数组,使用扩展运算符可以轻松提取和操作数组元素。

const numbersArray = [1, 2, 3, 4, 5];
const newArray = [...numbersArray.slice(0, 2), 6, ...numbersArray.slice(4)];
console.log(newArray); // [ 1, 2, 6, 5 ]
Nach dem Login kopieren

关于解构运算符,如有兴趣可以参阅:

2. 使用 async/await 简化异步代码

async/await 是一种简化 JavaScript 中异步代码处理的方法。它允许以一种看起来和行为都像同步代码的方式编写异步代码。

async function getData() {
    const response = await fetch("https://jsonplaceholder.typicode.com/posts");
    const data = await response.json();
    console.log(data);
}
getData();
Nach dem Login kopieren

3. 使用代理对象进行高级属性访问

JavaScript 中的 Proxy 对象允许拦截和自定义属性访问。这对于高级数据验证、日志记录等非常有用。

Proxy 对象用于创建一个对象的代理,从而实现基本操作的拦截和自定义(如属性查找、赋值、枚举、函数调用等)。

const target = {};
const handler = {
    get: (target, prop) => {
        console.log(`获取属性:${prop}`);
        return target[prop];
    },
    set: (target, prop, value) => {
        console.log(`属性 ${prop} 更新为 ${value}`);
        target[prop] = value;
    },
};
const proxy = new Proxy(target, handler);

proxy.name = "DevPoint";
console.log(proxy.name);
Nach dem Login kopieren

4. 使用三元运算符优化条件逻辑

三元运算符是在 JavaScript 中编写简单的 if-else 语句的一种简写方式。这是一种表达条件及其相应结果的简洁有效的方式。

const x = 5;
const result = x > 0 ? "positive" : "negative";
console.log(result); // positive
Nach dem Login kopieren

它也可以嵌套用于更复杂的条件。

const age = 30;
const result =
    age < 18 ? "未成年人" : age >= 18 && age < 60 ? "成年人" : "老年人";
console.log(result); // 成年人
Nach dem Login kopieren

5. 使用 IIFE 保护数据隐私

IIFE 是 Immediately Invoked Function Expression(立即调用函数表达式)的缩写,它是一个在定义时就会立即执行的 JavaScript 函数,并为变量创建私有作用域。这对于保护数据隐私很有用,因为它确保了在IIFE中声明的变量不能从外部访问。

可以使用这种格式为应用程序创建一个包,将代码逻辑放入命名空间以避免变量冲突以保持代码私有,而这个私有包适合以 <script> 标签方式引入到页面。通常可以看到WEB统计代码是以这种方式引入页面。

(function () {
    let key = "这是一个安全密钥";
})();
console.log(key); // ReferenceError: key is not defined
Nach dem Login kopieren

IIFE 真正擅长的是创建作用域的能力,IIFE 中的任何变量对外界都是不可见的。减少全局变量的产生,同时也避免了变量名称冲突的机会。

来看一个例子:

(function initGame() {
    // 无法在 IIFE 外部访问的私有变量
    var lives;
    var player;

    init();

    // 在 IIFE 之外无法访问的私有函数
    function init() {
        lives = 5;
        player = "devpoint";
    }
})();
Nach dem Login kopieren

在这个例子中声明了两个变量,都是私有的,也就是说,只对 IIFE 本身有效。IIFE 以外的任何人都无法访问它。此外,还有一个 init

1. Verwenden Sie den Spread-Operator, um Objekte und Arrays zu dekonstruieren.

Der Spread-Operator wird durch drei Punkte ... dargestellt und kann für Objekte verwendet werden und Arrays dekonstruieren. Bei Objekten ermöglicht es die einfache Erstellung eines neuen Objekts unter Verwendung einer Teilmenge der Eigenschaften eines anderen Objekts.

(function ($, global, document) {
    // 对 jQuery 使用 $,对 window 使用 global
})(jQuery, window, document);
Nach dem Login kopieren

Verwenden Sie für Arrays den Spread-Operator, um Array-Elemente einfach zu extrahieren und zu bearbeiten.

rrreee

Bezüglich des Destrukturierungsoperators können Sie sich bei Interesse auf Folgendes beziehen:

2. Verwenden Sie async/await, um asynchronen Code zu vereinfachen
async/await ist eine Methode zur Vereinfachung der asynchronen Codeverarbeitung in JavaScript. Es ermöglicht das Schreiben von asynchronem Code auf eine Weise, die wie synchroner Code aussieht und sich verhält. rrreee

3. Verwenden Sie Proxy-Objekte für den erweiterten Eigenschaftszugriff.

🎜Proxy-Objekte in JavaScript ermöglichen das Abfangen und den Zugriff auf benutzerdefinierte Eigenschaften. Dies ist nützlich für die erweiterte Datenvalidierung, Protokollierung usw. 🎜
🎜Proxy-Objekt wird verwendet, um einen Proxy für ein Objekt zu erstellen, um das Abfangen und Anpassen grundlegender Vorgänge (z. B. Attributsuche, Zuweisung, Aufzählung, Funktionsaufruf usw.) zu implementieren. 🎜
rrreee

4. Verwenden Sie einen ternären Operator, um die bedingte Logik zu optimieren. 🎜🎜Der ternäre Operator besteht darin, einfachen if-elsein JavaScript zu schreiben > Eine Abkürzung für eine Aussage. Dies ist eine prägnante und effiziente Art, Bedingungen und die entsprechenden Konsequenzen auszudrücken. 🎜rrreee🎜Für komplexere Bedingungen kann es auch verschachtelt werden. 🎜rrreee

5. Verwenden Sie IIFE zum Schutz der Privatsphäre🎜🎜IIFE ist die Abkürzung für Immediately Invoked Function Expression, eine JavaScript-Funktion, die ausgeführt wird sofort nach der Definition und erstellt einen privaten Bereich für die Variable. Dies ist für den Datenschutz nützlich, da dadurch sichergestellt wird, dass im IIFE deklarierte Variablen nicht von außen zugänglich sind. 🎜🎜Sie können dieses Format verwenden, um ein Paket für die Anwendung zu erstellen, die Codelogik in den Namespace einzufügen, um Variablenkonflikte zu vermeiden und den Code privat zu halten. Dieses private Paket eignet sich zur Einführung mit <script> Code>-Tag zur Seite hinzufügen. Normalerweise können Sie erkennen, dass auf diese Weise WEB-Statistikcode in die Seite eingefügt wird. 🎜rrreee
🎜Was IIFE wirklich gut kann, ist die Möglichkeit, Bereiche zu erstellen. Alle Variablen in IIFE sind für die Außenwelt unsichtbar. Reduzieren Sie die Generierung globaler Variablen und vermeiden Sie das Risiko von Variablennamenkonflikten. 🎜
🎜Schauen wir uns ein Beispiel an: 🎜rrreee🎜In diesem Beispiel werden zwei Variablen deklariert, die beide privat sind, also nur für das IIFE selbst gültig sind. Es ist für niemanden außerhalb von IIFE zugänglich. Darüber hinaus gibt es eine init-Methode, die von außen nicht zugänglich ist. 🎜🎜Wenn Sie den jQuery-Quellcode gelesen haben, sollten Sie mit dem folgenden Code vertraut sein: 🎜rrreee🎜Zusammenfassung🎜🎜Durch das Sammeln dieser Codierungstipps können Sie Ihre Fähigkeit verbessern, eleganten und wartbaren Code zu schreiben. 🎜🎜Empfohlenes Lernen: „🎜JavaScript-Video-Tutorial🎜“🎜🎜🎜

Das obige ist der detaillierte Inhalt vonEin Artikel, der 5 Tipps zur JavaScript-Codeoptimierung zusammenfasst. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:juejin.im
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!