জাভাস্ক্রিপ্ট (স্পষ্টতাকে বাদ দিয়ে) এর জন্য 'সংজ্ঞায়িত' কী ব্যবহৃত হয়?


161

আমি এটিতে নথির জন্য উচ্চ এবং নিম্ন সন্ধান করেছি, তবে আমি কোথাও কিছুই খুঁজে পাচ্ছি না।

আমি অ্যালোহা ব্যবহার করছি এবং অন্যান্য প্লাগইন কার্যকারিতার সাথে আমার নিজের একটি নতুন সাইড বার তৈরি করতে তাদের সাইডবারের প্রোটোটাইপটি ব্যবহার করতে চাই।

তাদের সাইডবার.জেগুলি এর সাথে শুরু হয়, তবে আমি আমার জীবনের জন্য কোনও ডকুমেন্টেশন খুঁজে পাই না যা এর অর্থ বোঝায়।

define( [
    'aloha/core',
    'aloha/jquery',
    'aloha/selection'
], function (Aloha, jQuery, Selection, Plugin) {

এরপরে এটি একটি মোড়ক ক্রিয়াকলাপ সংজ্ঞায়িত করার জন্য এই মোড়কে যায়, তাই varsএবং কিছু proptotypes- যা আমি প্রায় আমার মাথা পেতে পারি ...

এই উক্তিটি কী বা আমি কোথায় ব্যাখ্যা পেতে পারি?


উত্তর:


173

পুরো স্ক্রিপ্টটি না দেখে আমি নিশ্চিতভাবে বলতে পারি না, তবে এটি প্রয়োজনীয় defineজেএস থেকে ফাংশন হওয়ার সম্ভাবনা রয়েছে , বিশেষত " ফাংশনের নির্ভরতা সহ সংজ্ঞায়িত করুন " ফর্মটি। এটি একটি "মডিউল" সংজ্ঞায়িত করতে ব্যবহৃত হয়:

একটি মডিউল একটি traditionalতিহ্যবাহী স্ক্রিপ্ট ফাইলের থেকে পৃথক যে এটি একটি ভাল-স্কোপযুক্ত অবজেক্টকে সংজ্ঞায়িত করে যা বিশ্বব্যাপী নেমস্পেসকে দূষিত করা এড়ায়। এটি স্পষ্টতভাবে তার নির্ভরতাগুলি তালিকাভুক্ত করতে পারে এবং বৈশ্বিক অবজেক্টগুলি উল্লেখ করার প্রয়োজন ছাড়াই depend নির্ভরতাগুলির উপর একটি হ্যান্ডেল পেতে পারে, তবে পরিবর্তে মডিউলটিকে সংজ্ঞায়িত করে ফাংশনের আর্গুমেন্ট হিসাবে নির্ভরতা প্রাপ্ত করে।

এবং "নির্ভরতার সাথে সংজ্ঞায়িত" ফর্মটি defineনীচে বর্ণিত:

মডিউলটির যদি নির্ভরতা থাকে তবে প্রথম যুক্তি নির্ভরতা নামের একটি অ্যারে এবং দ্বিতীয় যুক্তিটি একটি সংজ্ঞা ফাংশন হওয়া উচিত। সমস্ত নির্ভরতা লোড হয়ে গেলে ফাংশনটি মডিউলটি সংজ্ঞায়িত করার জন্য ডাকা হবে। ফাংশনটি মডিউলটি সংজ্ঞায়িত করে এমন একটি বস্তু ফেরত পাঠায়।


1
হ্যাঁ এটি অবশ্যই নির্ধারণ করে - তাই এর প্রয়োজনের অংশটি .js এবং সেই মার্কআপটি ব্যবহার করতে আপনার প্রয়োজনীয় js.org
ডেভিড ও'সুলিভান

4
এবং IE এর কোন সংস্করণগুলি এটিকে সমর্থন করে না ... ;-)
সাইমন_উইভার

1
@ সিমন_উইভার - আপনি কী বোঝাতে চাইছেন তা নিশ্চিত নন ... আইয়ার Requ + দ্বারা প্রয়োজনীয় জেএস সমর্থিত ।
জেমস আলার্ডাইস

এটি জেনে রাখা ভাল :) আমি কিছুটা
উত্সাহী হয়ে উঠছিলাম

1
@ সিমন_উইভার এটি জাভাস্ক্রিপ্ট ভাষা নির্মাণ নয়, এটি একটি সাধারণ জাভাস্ক্রিপ্ট ফাংশন। বর্গাকার বন্ধনী একটি অ্যারে তৈরি করে। বা আপনি যে নির্মাণটি উল্লেখ করছেন তা কি?
রবিন সবুজ

3

এটি মডিউল লেখার জন্য এএমডি প্যাটার্ন যা এএমডি হ'ল অ্যাসিনক্রোনাস মডিউল সংজ্ঞা হিসাবে যখন আপনাকে মূল জেনার মতো কিছু না করে মূলত অ্যাসিঙ্ক মডিউল আমদানি করতে হয়।

define(['module1', 'module2'], function(module1, module2) {
  console.log(module1.sayHi());
});

সংজ্ঞায়িতভাবে নির্ভরতাগুলির একটি অ্যারে লাগে এবং সেগুলি একবার ব্যাকগ্রাউন্ডে লোভিত হয় (অ্যাসিঙ্ক) অ-অবরুদ্ধ উপায়ে, কলব্যাককে সংজ্ঞায়িত করে যা ঘুরে ফিরে যুক্তিগুলি গ্রহণ করে (এই ক্ষেত্রে নির্ভরতাগুলি)।

আরেকটি বিষয় লক্ষণীয় হ'ল সেই সমস্ত মডিউলগুলির প্রত্যেকটির "ডিফাইন" কীওয়ার্ড ব্যবহার করে সংজ্ঞায়িত করা দরকার। সুতরাং উদাহরণস্বরূপ মডিউল 1 নীচের মত সংজ্ঞায়িত করা হবে:

define([], function() {

  return {
    sayHi: function() {
      console.log('Hi Hi');
    },
  };
});

মডিউল (এএমডি) লেখার এই পদ্ধতিটি আপনাকে ব্রাউজারের সামঞ্জস্যতার সাথে লেখার অনুমতি দেয় (নোডজেএসের মতো প্রয়োজন হয় না) এবং আপনি বস্তু, জেএসএন ইত্যাদি সহ অনেকগুলি ফর্ম্যাট সংজ্ঞায়িত করতে পারেন যখন সাধারণ জেএসকে বস্তু হতে মডিউলগুলির প্রয়োজন হয়।

মনে রাখবেন, এএমডির নিজস্ব পতন রয়েছে। আশা করি এটি কাউকে সাহায্য করবে।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.