بالنسبة لمبرمجي الويب ، قد يكون التعامل مع تنسيقات URL البسيطة كابوسًا. فقط تخيل أن هناك العديد من المكونات في عنوان URL الذي سيؤثر على تحليلك له:
・・・ هل تبدأ مع / شخصية
・・・ هل تبدأ بـ //
・・・ هل تبدأ بـ A؟
・・・ هل تبدأ بـ #
…إلخ
عندما تريد العنوان المطلق لهذا العنوان ، كيفية الحكم على المعالجة والتحليل؟ قد يكون من بروتوكول HTTP أو من بروتوكول HTTPS. إنه صداع. لحسن الحظ ، لدينا طريقة سهلة لتحديد عنوانها المطلق ، وهو إنشاء عنصر للمساعدة في إكمال هذه المهمة!
رمز JavaScript
هنا سأستخدم وظيفة JavaScript التي تُرجع الوظيفة. هناك العديد من الفوائد للقيام بذلك ، والتي سيتم مناقشتها أدناه.
var getabsoluteUrl = (function () {var a ؛ function function (url) {if (! a) a = document.createElement ('a') ؛ a.href = url ؛ return A.Href ؛} ؛}) () ؛هذه الوظيفة تبدو معقدة بعض الشيء. يقوم أولاً بتعيين وظيفة لمتغير ، وهناك وظيفة أخرى في هذه الوظيفة ومتغير محدد مسبقًا. قد يسأل شخص ما عن سبب حاجة وظيفة ما ، وما إذا كان يمكن تبسيطها على هذا:
var getabsoluteurl = function (url) {var a = document.createElement ('a') ؛ A.Href = url ؛ العودة A.Href ؛}بطبيعة الحال ، لا يمكن اعتبار طريقة الكتابة البسيطة هذه ، لكنها ليست مثالية بما فيه الكفاية ، لأنه على الرغم من أن ممارسة تضمين وظيفة تزيد من تعقيد الكود ، إلا أنه يمكن أن يضمن إنشاء العنصر مرة واحدة فقط ويمكن إعادة استخدامه ، وتوفير الوقت والذاكرة.
ربما سيطرح شخص ما سؤالًا آخر ، ويتساءل عما إذا كان هناك حكم في الوظيفة الثانية المتداخلة ، ولماذا مطلوب ، ولماذا لا تكتبه على النحو التالي:
var getabsoluteurl = (function () {var a = document.createElement ('a') ؛ function function (url) {A.Href = url ؛ return A.Href ؛} ؛}) () ؛هذه طريقة بشكل طبيعي للتشغيل ، ولن تكون هناك أخطاء في الوظيفة. لكن الشيء الدقيق هو أنه إذا لم يكن هناك بيان للحكم ، عند تحديد هذه الوظيفة ، حتى لو لم يتم استدعاء الوظيفة بواسطة أي رمز ، فسيتم تهيئة العنصر A. مع بيان الحكم إذا ، سيتم إنشاء العنصر A عند استخدامه بالفعل ، ولن يكون هناك مضيعة للذاكرة ووحدة المعالجة المركزية.
حسنًا ، مع هذه الطريقة ، بغض النظر عن نوع عنوان URL الذي تمريره فيه ، فسيقوم بإرجاع العنوان المطلق.
الجميع ، دعنا نجرب ذلك!
ما سبق هو كل محتوى هذه المقالة. آمل أن يكون ذلك مفيدًا لتعلم الجميع وآمل أن يدعم الجميع wulin.com أكثر.