دیگر توابع مفید جاوا اسکریپت را شرح دهید
دیگر توابع مفید جاوا اسکریپت را شرح دهید
از توابعی همچون encodeURI() encodeURIComponent() براي کدگذاري آدرس هاي اینترنتی (URI ها) استفاده می شود. در حالت کلی و صحیح یک آدرس نباید شامل کاراکترهاي نامعتبر همچون space باشد. این توابع به شما در تبدیل کردن و encode کردن آدرس هاي اینترنتی نادرست و بی ارزش براي اینکه مرورگرها آنها را بفهمند استفاده می شود. متد encodeURI() معمولا براي آدرس هاي کامل (به عنوان مثال http://learningjquery.ir/illegal value.htm) مورد استفاده قرار می گیرد در حالی که دیگري براي قسمتی از آدرس ها همچون illegal value.htm مورد استفاده قرار می گیرد. تفاوت اصلی بین این دو تابع این است که تابع اول کاراکتر هاي خاصی که به عنوان جزئی از آدرس هستند همچون (: ) ، / ، ؟ و… را encode نمی کند درحالی که تابع دوم تمام کاراکتر هاي غیر استاندارد را encode خواهد کرد. براي مثال:
;var sUri = “http://www.wrox.com/illegal value.htm#start”
alert(encodeURI(sUri));
; alert(encodeURIComponent(sUri))
حاصل اجراي کد بالا به صورت زیر خواهد شد:
http://www.wrox.com/illegal%20value.htm#start
http%3A%2F%2Fwww.wrox.com%2Fillegal%20value.htm%23start
طبیعتا دو تابع براي decode کردن آدرس هاي اینترنتی استفاده می شود همچون:
decodeURI()
decodeURIComponent()
به عنوان مثال:
var sUri = “http%3A%2F%2Fwww.wrox.com%2Fillegal%20value.htm%23start”;
alert(decodeURI(sUri));
alert(decodeURIComponent(sUri));
حاصل اجراي این کد به صورت زیر خواهد بود:
http%3A%2F%2Fwww.wrox.com%2Fillegal value.htm%23start
http://www.wrox.com/illegal value.htm#start
آخرین تابعی که به نظر قدرتمند می آید eval() است. این تابع که شبیه به مفسر جاوااسکریپت کار می کند آرگومانی از نوع رشته می گیرد که در واقع یک برنامه به زبان جاوااسکریپت است و این تابع آن را همانند سایر برنامه ها اجرا می کند. براي مثال:
(eval(“alert(‘hi’)”
این تکه کد در حقیقت معادل دستور زیر است:
(alert(“hi”
موقعی که مفسر جاوااسکریپت به این تابع می رسد آرگومان آن را به عنوان یک دستور خیلی ساده تفسیر کرده و اجرا می کند. این به این معنی است که شما می توانید از داخل آرگومان هاي این تابع به تمام متغیرهاي خارج آن دسترسی داشته و از آن ها استفاده کنید :
var msg = “hello world”;
eval(“alert(msg)”);
همچنین شما می توانید آرگومان تابع eval() را یک تابع تعریف کرده و سپس آن را خارج از تایع eval() صدا بزنید. براي مثال:
eval(“function sayHi() { alert(‘hi’); }”);
sayHi();
منبع : انجمن علمی مهندسی فناوری اطلاعات دانشگاه پیام تور مرکز اران و بید گل
برای اموزش های ویدیویی زبان جاوا اسکیریپت به بستر ویدیو های اموزشی بروید