۱۲ نکته برای جاوااسکریپت نویسان

۸ دیدگاه

سلام

اگر اهل کار با JavaScript هستید و تازه شروع به یادگرفتن آن کرده اید،لطفا با ما همراه باشید چون می خواهیم نکات ریز و مهمی را که برای کار با جاوااسکریپت لازم است را با هم مرور کنیم.

۱.به جای == از === استفاده کنید

جاوااسکریپت دو نوع عملگر متفاوت را برای عمل تساوی ارائه کرده است:=== | !== و == | !=.اگر دو عملگر دارای یک نوع و یک مقدار باشند،آنگاه === مقدار True و !== مقدار False بر می گردارند.با این حال وقتی با == و != کار می کنید،ممکن است در استفاده از متغیرهای چند نوعی دچار مشکل شوید.چون می خواهند مقادیر را مطابقت دهند ولی چون نوع متفاوت است،موفق نمی شوند.

۲.Eval = Bad

برای کسانی که ممکن است آشنایی نداشته باشند،به وسیله تابع eval می توان به کامپایلر جاوااسکریپت دسترسی داشت.در اصل،می توانیم یک رشته متنی را با پاس دادن به این تابع،اجرا کنیم.

ولی eval نه تنها سرعت عملکرد اسکریپت شما را کاهش می دهد،بلکه یک خطر امنیتی مهم نیز ایجاد می کند.زیرا هر دستوری را که به آن داده شود،با مجوز سیستم اجرا می کند.بهتر است فراموشش کنید!

۳.از JS Lint استفاده کنید

JSLint یک خطایاب جاوااسکریپت است که بوسیله داگلاس کراکفورد(Douglas Crockford) نوشته شده است.می توانید به سادگی آن را در اسکریپت خود کپی کنید و آن کد شما را اسکن کرده و تذکرات و خطاها را گزارش می دهد.به طور کلی این ابزار یک کد را می گیرد و آن را بازبینی می کند.اگر خطایی پیدا کرد،آن را به همراه توضیحات کامل و محل وقوع خطا گزارش می دهد.بیشتر ابزاری برای یافتن اشکالاتی که ممکن است از چشم تان مخفی باشند.پس قبل از انتشار اسکریپت خود،بهتر است یکبار هم با JSLint تستش کنید

در همین رابطه :   گلچین اسکریپت هایی برای تغییر شکل Radio و Checkbox در HTML

۴.اسکریپت ها را در آخر صفحه قرار دهید

فراموش نکنید که اولین هدف سایت ها،افزایش سرعت بارگذاری صفحات است.اگر اسکریپت ها در اول صفحه قرار گیرند،مرورگر تا زمانی که کاملا آنها را لود نکرده باشد،منتظر می ماند و این برای کاربران جالب نیست.پس اگر از اسکریپت ها در سایت خود استفاده می کنید،بهتر است تمام آنها را به آخرین بخش صفحه یعنی قبل از تگ بستن بدنه (<body/>) منتقل کنید.

 

<p>And now you know my favorite kinds of corn. </p>
<script type="text/javascript" src="path/to/file.js"></script>
<script type="text/javascript" src="path/to/anotherFile.js"></script>
</body>
</html>

۵.متغیرها را بیرون از حلقه For تعریف کنید

مثلا:

بد

 

for(var i = 0; i < someArray.length; i++) {
   var container = document.getElementById('container');
   container.innerHtml += 'my number: ' + i;
   console.log(i);
}

دقت کنید که هر چه قدر بیشتر از DOM استفاده کنیم،کارایی کم می شود

خوب

var container = document.getElementById('container');
for(var i = 0, len = someArray.length; i < len;  i++) {
   container.innerHtml += 'my number: ' + i;
   console.log(i);
}

۶.سریعترین راه برای ایجاد متون

همیشه استفاده از حلقه For برای الحاق متغیرها و ایجاد رشته،مناسب نیست.با روش های دیگری می توان کارایی را بالاتر برد.مثل join

 

var arr = ['item 1', 'item 2', 'item 3', ...];
var list = '<ul><li>' + arr.join('</li><li>') + '</li></ul>';

۷.جمع کردن کد

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

 

var name = 'Jeffrey';
var lastName = 'Way';  

function doSomething() {...}  

console.log(name); // Jeffrey -- or window.name

راه حل بهتر:

 

var DudeNameSpace = {
   name : 'Jeffrey',
   lastName : 'Way',
   doSomething : function() {...}
}
console.log(DudeNameSpace.name); // Jeffrey

۸.همیشه کد خود را توضیح گذاری کنید!

شاید در ابتدا زیاد مهم به نظر نرسد ولی پیشنهاد می کنم حتما این کار را انجام دهید.شاید بعد از ماه ها،دوباره به پروژه سر زدید و بیاد آوری کارکرد کدها سخت شده است و یا همکاران تان می خواهند کد شما را بهبود دهند.پس با وجود توضیحاتی که در بخش های مهم گذاشته اید،می توانید کد خود را قابل استفاده تر کنید.پس هیچ وقت comment را فراموش نکنید.

در همین رابطه :   معرفی 534 روش مختلف برای Reload صفحه در JavaScript!

 

// Cycle through array and echo out each name.
for(var i = 0, len = array.length; i < len; i++) {
   console.log(array[i]);
}

۹.هیچ رشته ای را به “SetInterval” یا “SetTimeOut” پاس ندهید

به کد زیر نگاه کنید:

 

setInterval(
"document.getElementById('container').innerHTML += 'My new number: ' + i", 3000
);

این کد علاوه بر اینکه کارایی برنامه را کاهش می دهد،بلکه تا حدی شبیه “eval” نیز عمل می کند.پس هیچ وقت یک رشته را به این توابع پاس ندهید.به جایش یک تابع را قرار دهید:

 

setInterval(someFunction, 3000);

 

۱۰.به جای New Array از [] استفاده کنید

راه های ایجاد آرایه

خوب

 

var a = new Array();
a[0] = "Joe";
a[1] = 'Plumber';

عالی

 

var a = ['Joe','Plumber'];

۱۱.متغیرهای زیادی دارید؟”Var” را فراموش کرده و از کاما استفاده کنید!

 

var someItem = 'some string';
var anotherItem = 'another string';
var oneMoreItem = 'one more string';

راه حل بهتر

 

var someItem = 'some string',
    anotherItem = 'another string',
    oneMoreItem = 'one more string';

شاید از روش در سرعت کد شما موثر نباشد ولی نما و تمیزی آن را بالا می برد

۱۲.”Language” را پاک کنید

 

<script type="text/javascript" language="javascript">
...
</script>

تا مدتی قبل باید از این صفت استفاده می شد ولی حالا نیازی به آن نیست و می توانید پاکش کنید.

دسته بندی : JavaScript

8 نظر

  1. سلام

    گفته شد:

    var a = ['Joe','Plumber'];

    اگر بیش از یک مورد نیاز باشد چطور a[0] dh a[1] و… فراخوانی شود..؟؟

    بطور مثال:

    var a = new Array();

    a[0] = "Joe";

    a[1] = 'Plumber';

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *