PDA

View Full Version : سوال: معنی این کد چیه؟



prince4prodigy
سه شنبه 04 مهر 1391, 19:46 عصر
$('.filterItem [name]').live('adjustName',function(){
var suffix = $(this).closest('.filterItem').data('suffix');
if (/(\w)+\.(\d)+$/.test($(this).attr('name'))) return;
$(this).attr('name',$(this).attr('name')+suffix);
});

مخصوصا خطی که اینو نوشته رو اصلا نمیدونم چیه:
if (/(\w)+\.(\d)+$/.test($(this).attr('name'))) return;

mrgraphy
سه شنبه 04 مهر 1391, 20:50 عصر
سلام دوست عزیز.
این یک متد نمونه هستش که داخلش از regular expresion یا همون عبارت با قاعدع استفاده شده. همون خطی که خودت بهش اشاره کردی.
در این متد شما به جای adjustName اسم یک event رو مینویسی و کار کلی این متد اینه که یکی از صفات یک عنصر رو طبق قاعده ای که داره چک میکنه و اگر مقدار true رو برگردوند اون رو تغییر میده.
توضیح دادنش یه مقدار پیچیده هست و باید بحث regx رو براتون باز کنم که این کار سختیه.
امیدوارم کمکتون کرده باشم.

prince4prodigy
سه شنبه 04 مهر 1391, 21:00 عصر
این ط.ور که میگی اون خطی که مشخص کردم احتمالا یه کد ثابت هست که ممکته تو برنامه های مختلف به کار بره.
ولی من متوجه نشدم چه زمانی به چنین کدی نیاز پیدا میکنیم؟

mrgraphy
سه شنبه 04 مهر 1391, 23:32 عصر
نه نه به هیچ وجه اون کد ثابت نیست
اون عبارت با قاعده هست و اسم تخصصیش regular expressionsهست.
از اسمش معلومه.
یعنی این کعه برای یک چیز قاعده تعریف کردن یا الگو تعریف کردن. و همچنین یکی از حرفه ای ترین مباحث برنامه نویسی هستش که یاد گیریش واقعا برای کسانیکه تجربه ندارن سخته و باید حرفه ای باشی تا بتونی این مبحث رو یاد بگیرید.
http://www.regular-expressions.info/tutorial.html
به این سایت مراجعه کن تا اطلاعات بشتری بگیری