k2-4u
Well-Known Member
سلام به همه دوستان
اول از همه از D.A.V.O.O.D . dannydolph و eAmin تشکر می کنم که این
بحث رو وسط کشیدن
. یک مقاله در مورد Chainable ترجمه کردم و البته کمی هم زیاد و کمش کردم
امید وارم به درد دوستان بخوره .
شما به وسیله chainable می توانید متد های مثل
را درست کنید (که در Jquery ) دیده مشه
چگونه متد های Chainable را در جاوا اسکریپ درست کنیم
در جاوا اسکریپ اگر مقدار خروجی "return " یک متد رو . مشخص نکنید . مقدار undefined رو
به صورت پیشفرز بر می گردونه
. راز ساخت chainable در مقدار return است .
که در حقیقت باعث میشه شما بتونی به مقدار یک تابع (که از return اومده ) به وسیله اپراتور "." (نقطه)
وصل بشی
یک مثال معمولی رو ببینید (بدون chainable)
برای اجرای کد بالا . شما باید به صورت زیر عمل کنید
بهترین کاری که می توانید بکنید اینه که با دستور with مثال بالا رو کمی کوچیک کنید
ولی باز هم کد ها . زیاد هستند
chainable شده مثال بالا به صورت زیر است
برای ساخت خود کد ها
و برای اجراش هم
به همین راحتی!!
در این آدرس هم
http://docs.jquery.com/Tutorials:How_jQuery_Works#Chainability_.28The_Magic_of_jQuery.29
سایت Jquery در این مورد کامل توضیح داده
منبع : http://updatepanel.net/2008/10/18/making-methods-chainable-in-javascript/
امید وارم که به دردتون خورده باشه
اگر سوالی هم بود . در خدمتم
اول از همه از D.A.V.O.O.D . dannydolph و eAmin تشکر می کنم که این
بحث رو وسط کشیدن
. یک مقاله در مورد Chainable ترجمه کردم و البته کمی هم زیاد و کمش کردم
امید وارم به درد دوستان بخوره .
شما به وسیله chainable می توانید متد های مثل
PHP:
$("myPanel").setStyle("border", "solid 2px #f00").setStyle("background", "#ffc").show();
چگونه متد های Chainable را در جاوا اسکریپ درست کنیم
در جاوا اسکریپ اگر مقدار خروجی "return " یک متد رو . مشخص نکنید . مقدار undefined رو
به صورت پیشفرز بر می گردونه
. راز ساخت chainable در مقدار return است .
که در حقیقت باعث میشه شما بتونی به مقدار یک تابع (که از return اومده ) به وسیله اپراتور "." (نقطه)
وصل بشی
یک مثال معمولی رو ببینید (بدون chainable)
PHP:
function DomElement(elementId) {
this.element = document.getElementById(elementId);
}
DomElement.prototype = {
setStyle: function(prop, val) {
this.element.style[prop] = val;
},
show: function() {
this.setStyle("display", "block");
},
hide: function() {
this.setStyle("display", "none");
}
}
PHP:
var myPanel = new DomElement("myPanel");
myPanel.setStyle("border", "solid 2px #f00");
myPanel.setStyle("background", "#ffc");
myPanel.show();
PHP:
var myPanel = new DomElement("myPanel");
with (myPanel) {
setStyle("border", "solid 2px #f00");
setStyle("background", "#ffc");
show();
}
chainable شده مثال بالا به صورت زیر است
PHP:
function DomElement(elementId) {
this.element = document.getElementById(elementId);
}
DomElement.prototype = {
setStyle: function(prop, val) {
this.element.style[prop] = val;
return this;
},
show: function() {
return this.setStyle("display", "block");
},
hide: function() {
return this.setStyle("display", "none");
}
}
// Add a shortcut method for creating a DomElement object:
$ = function(elementId) {
return new DomElement(elementId);
}
و برای اجراش هم
PHP:
$("myPanel").setStyle("border", "solid 2px #f00").setStyle("background", "#ffc").show();
در این آدرس هم
http://docs.jquery.com/Tutorials:How_jQuery_Works#Chainability_.28The_Magic_of_jQuery.29
سایت Jquery در این مورد کامل توضیح داده
منبع : http://updatepanel.net/2008/10/18/making-methods-chainable-in-javascript/
امید وارم که به دردتون خورده باشه
اگر سوالی هم بود . در خدمتم
آخرین ویرایش توسط مدیر: