JavaScript:کارایی در جاوااسکریپت

از ویکی کد
(تفاوت) → نسخهٔ قدیمی‌تر | نمایش نسخهٔ فعلی (تفاوت) | نسخهٔ جدیدتر ← (تفاوت)
پرش به ناوبری پرش به جستجو

https://www.w3schools.com/js/js_performance.asp

JavaScript Performance

کارآیی در جاوا اسکریپت

How to speed up your JavaScript code.

چگونه سرعت اجرای کد اسکریپت خود را افزایش دهید؟

Reduce Activity in Loops

کاهش فعالیت در حلقه ها

Loops are often used in programming.

حلقه ها اغلب در برنامه نویسی استفاده می شوند .

Each statement in a loop, including the for statement, is executed for each iteration of the loop.

هر تکه کد در حلقه ، که شامل حلقه For نیز می شود در هر بار پیمایش حلقه نیز اجرا می شود.

Statements or assignments that can be placed outside the loop will make the loop run faster.

تکه کد ها و یا مقداردهی هایی که می توانند در خارج از حلقه قرار بگیرند ، میتوانند سرعت اجرای حلقه را بیشتر کنند.

Bad:

روش نادرست :

var i;

for (i = 0; i < arr.length; i++) {

Better Code:

روش صحیح تر :

var i;

var l = arr.length;

for (i = 0; i < l; i++) {

The bad code accesses the length property of an array each time the loop is iterated.

در روش نادرست ، دسترسی به ویژگی length یک آرایه در هر بار پیمایش حلقه  صورت می گیرد .

The better code accesses the length property outside the loop and makes the loop run faster.

در روش صحیح تر ، ویژگی length بیرون حلقه قرار می گیرد و اجرای حلقه را سریعتر می کند .

Reduce DOM Access

کاهش دسترسی از طریق Dom

Accessing the HTML DOM is very slow, compared to other JavaScript statements.

دسترسی به عناصر html به وسیله ی html dom در مقایسه با سایر تکه کدها بسیار آهسته تر است .

If you expect to access a DOM element several times, access it once, and use it as a local variable:

اگر شما می خواهید که به یک عنصر dom چندین بار دسترسی داشته باشید ، یک بار به آن دسترسی پیدا کنید و از آن به عنوان متغیر محلی استفاده کنید :

Example

var obj;

obj = document.getElementById("demo");

obj.innerHTML = "Hello";

Reduce DOM Size

تعداد استفاده از Dom را کاهش دهید .

Keep the number of elements in the HTML DOM small.

تعداد استفاده از عناصر به وسیله ی html  dom را کم نگه دارید .

This will always improve page loading, and speed up rendering (page display), especially on smaller devices.

این امر همیشه موجب بهبود بارگذاری صفحه و افزایش سرعت رندر صفحه (نمایش صفحه) به خصوص در دستگاه های کوچک می شود.

Every attempt to search the DOM (like getElementsByTagName) will benefit from a smaller DOM.

در هر دفعه جستجو به وسیله ی dom  ، (همانند متد getElementByTagName) موجب اجرای یک dom کوچکتر می شود.

Avoid Unnecessary Variables

جلوگیری از استفاده غیرضروری متغیرها

Don't create new variables if you don't plan to save values.

اگر برنامه ای برای ذخیره مقادیر ندارید ، متغیرهای جدید را تعریف نکنید.

Often you can replace code like this:

بیشتر موارد شما می توانید کدی همانند کد زیر را:

var fullName = firstName + " " + lastName;

document.getElementById("demo").innerHTML = fullName;

With this:

با این کد جا به جا کنید :

document.getElementById("demo").innerHTML = firstName + " " + lastName

Delay JavaScript Loading

تاخیر در بارگذاری جاوا اسکریپت

Putting your scripts at the bottom of the page body lets the browser load the page first.

قرار دادن اسکریپتهایتان در پایین صفحه به مرورگر اجازه می دهد که ابتدا صفحه را بارگذاری کند.

While a script is downloading, the browser will not start any other downloads. In addition all parsing and rendering activity might be blocked.

زمانی که یک اسکریپت در حال دانلود است ، مرورگر سایر دانلودها را آغاز نخواهد کرد . به علاوه تمامی عملیات های تبدیل یا parsing و عملیات های رندر کردن نیز ممکن است block شوند.

The HTTP specification defines that browsers should not download more than two components in parallel.

طبق قانون http مرورگر نباید بیشتر از دو کامپوننت را به صورت موازی یا parallel دانلود کند.

An alternative is to use defer="true" in the script tag.

یک روش برای حل این مشکل ، استفاده از دستور defer=”true” در تگ Script است .

The defer attribute specifies that the script should be executed after the page has finished parsing, but it only works for external scripts.

ویژگی deffer مشخص می کند که اسکریپت می بایست بعد از بارگذاری کامل صفحه اجرا شود ، اما این ویژگی تنها در اسکریپتهای خارجی یا External کار می کند.

If possible, you can add your script to the page by code, after the page has loaded:

در صورت امکان ، شما می توانید اسکریپت خود را به وسیله ی کد بعد از اینکه بارگذاری صفحه انجام شد ،به صفحه اضافه کنید:

<script>

window.onload = function() {

  var element = document.createElement("script");

  element.src = "myScript.js";

  document.body.appendChild(element);

};

</script>

Avoid Using with

از استفاده از کلمه کلیدی with بپرهیزید.

Avoid using the with keyword. It has a negative effect on speed. It also clutters up JavaScript scopes.

از استفاده از کلمه کلیدی with بپرهیزید . این استفاده اثر منفی بر روی سرعت دارد . همچنین موجب بهم ریختن ناحیه کد یا Scope ها در جاوا اسکریپت می شود.

The with keyword is not allowed in strict mode.

استفاده از کلمه کلیدی With در حالت سخت گیرانه یا Strict mode مجاز نیست.