স্ব-রেফারেন্সিং নামবিহীন বন্ধ: জাভাস্ক্রিপ্ট অসম্পূর্ণ?


18

বেনামে স্ব-রেফারেন্সিং ফাংশন বন্ধ হওয়ার বিষয়টি জাভাস্ক্রিপ্টে এতটা উপস্থাপিত হওয়ার বিষয়টি কি জাভাস্ক্রিপ্টের একটি অসম্পূর্ণ স্পেসিফিকেশন বলে বোঝায়? আমরা এর অনেক কিছুই দেখতে পাই:

(function () { /* do cool stuff */ })();

এবং আমি মনে করি যে সমস্ত কিছু স্বাদযুক্ত বিষয়, তবে এটি কি ক্লডজের মতো দেখাচ্ছে না, যখন আপনি যা চান সমস্ত একটি ব্যক্তিগত নামস্থান? জাভাস্ক্রিপ্ট প্যাকেজ এবং সঠিক ক্লাস প্রয়োগ করতে পারে না?

আপনি যেখানে পাবেন ECMAScript এর উপর ভিত্তি করে অ্যাকশনস্ক্রিপ্ট 3 এর সাথে তুলনা করুন

package com.tomauger {
  import bar;
  class Foo {
     public function Foo(){
       // etc...
     }

     public function show(){
       // show stuff
     }

     public function hide(){
       // hide stuff
     }
     // etc...
  }
}

আমরা জাভাস্ক্রিপ্টে যে কনভোলিউশনগুলি করি তার বিপরীতে (এটি, jQuery প্লাগইন অনুমোদনের ডকুমেন্টেশন থেকে ):

(function( $ ){

  var methods = {
    init : function( options ) { // THIS },
    show : function( ) { // IS   },
    hide : function( ) { // GOOD },
    update : function( content ) { // !!! }
  };

  $.fn.tooltip = function( method ) {

    // Method calling logic
    if ( methods[method] ) {
      return methods[ method ].apply( this, Array.prototype.slice.call( arguments, 1 ));
    } else if ( typeof method === 'object' || ! method ) {
      return methods.init.apply( this, arguments );
    } else {
      $.error( 'Method ' +  method + ' does not exist on jQuery.tooltip' );
    }    

  };

})( jQuery );

আমি প্রশংসা করি যে এই প্রশ্নটি পছন্দগুলি এবং প্রোগ্রামিং শৈলীর সম্পর্কে খুব সহজেই ছদ্মবেশে পরিণত হতে পারে, তবে আপনি জানতে পারা যে আপনি প্রোগ্রামিং প্রোগ্রামাররা এটি সম্পর্কে কীভাবে অনুভূত হন এবং এটি কী প্রাকৃতিক বোধ হয়, যেমন কোনও নতুন ভাষার বিভিন্ন আইডিসিনক্রিয়াগুলি শিখার মতো বা শুনতে চান hear , কিছু প্রাথমিক প্রোগ্রামিং ভাষার উপাদানগুলি যেমন কার্যকরভাবে প্রয়োগ করা হয় না তার মতো?


22
"জাভাস্ক্রিপ্ট কার্যকর করা যায়নি ... সঠিক ক্লাস?" নং এটা ইতিমধ্যেই সঠিক এগুলির নমুনা রয়েছে। প্রোটোটাইপগুলি ক্লাস থেকে নিকৃষ্ট নয়। তারা ভিন্ন ধরনের. লোকেরা বিভিন্ন সময়ে জাভাস্ক্রিপ্টে ক্লাস যুক্ত করার চেষ্টা করেছে এবং বরং ব্যর্থ হয়েছে।
রেন হেনরিখস ২

5
@ রিন: এবং এখনও কোনওরকম অ্যাকশনস্ক্রিপ্ট এটি পরিচালনা করেছে ...
ম্যাসন হুইলারের ২

8
@ টমগুলিতে "বিল্ট-ইন ক্লাস" নেই। প্রোটোটাইপাল ভাষায় ক্লাসের মতো জিনিস নেই । আপনি দুটি দৃষ্টান্তকে বিভ্রান্ত করতে থাকুন।
রিন হেনরিচস

1
আমি ব্যক্তিগতভাবে বেনামে ফাংশন ভাষার বৈশিষ্ট্যটিকে ক্লাসের চেয়ে আরও নমনীয় মনে করি। তবে আমি ফাংশনাল প্রোগ্রামিংয়ের মতো করি যেখানে এই প্রতিমাটি সাধারণ।
ডায়েটবুদ্ধ

1
অন্যদের জন্য, এখানে: brianodell.net/?page_id=516 একটি প্রোটোটাইপাল ভাষা হিসাবে জাভাস্ক্রিপ্টে একটি দুর্দান্ত প্রাইমার।
টম অ্যাগার

উত্তর:


9

আমি মনে করি যে সমস্ত কিছু স্বাদের বিষয়, তবে এটি কি ক্লডজের মতো দেখাচ্ছে না, যখন আপনি যা চান সমস্ত একটি ব্যক্তিগত নামস্থান? জাভাস্ক্রিপ্ট প্যাকেজ এবং সঠিক ক্লাস প্রয়োগ করতে পারে না?

বেশিরভাগ মন্তব্যে এই মিথের বিরুদ্ধে যুক্তি রয়েছে যে "প্রোটোটাইপগুলি দরিদ্র মানুষের শ্রেণি", তাই আমি কেবল পুনরাবৃত্তি করব যে প্রোটোটাইপ-ভিত্তিক ওও কোনও শ্রেণিভিত্তিক ওওর নিকৃষ্টতম নয়।

অন্য বিন্দুটি "একটি ক্লডজ যখন আপনি সমস্ত এটি একটি ব্যক্তিগত নামস্থান চান"। আপনি জেনে অবাক হতে পারেন যে স্কিম স্কোপগুলি সংজ্ঞায়িত করতে হুবহু একই পাদদেশ ব্যবহার করে। লেসিকাল স্কোপিংয়ের ভালভাবে সম্পন্ন করার প্রত্নতাত্ত্বিক উদাহরণ হতে এটি থামেনি।

অবশ্যই, স্কিমে, 'কলডেজ' ম্যাক্রোগুলির পিছনে লুকানো আছে ....


1
আপনার বক্তব্যটির ব্যাক আপ করার জন্য আপনি কোনও প্রমাণ উপস্থাপন করেন নি যে স্কিমটি ভালভাবে সম্পন্ন লেক্সিকাল স্কোপিংয়ের প্রাথমিক উদাহরণ, বা স্কোপগুলি কীভাবে স্কোপগুলি সংজ্ঞায়িত করতে ব্যবহৃত হয় তার সাথে এর কোনও যোগসূত্র ছিল।
ডেড এমজি

স্কীমকে উদাহরণ হিসাবে রাখার সাথে কথা বলতে পারবেন না তবে জেএসের
ডটকম / ২০১০ / 07/22 / জাভাস্ক্রিপ্ট- আওস-

7

প্রথমে কয়েকটি জিনিস:

  1. জাভাস্ক্রিপ্ট দেখার আরেকটি উপায় হল 1 মিলিয়ন এবং 1 টি জিনিস যা আপনি নির্মাণ হিসাবে ফাংশনটিতে করতে পারেন। আপনি যদি এটি সন্ধান করেন তবে এটি সেখানে রয়েছে। এটি কোনও ফাংশন থেকে কখনই দূরে নয়।

  2. এই jQuery প্লাগ-ইন অনুমোদনের জিনিসটি ভয়াবহ। তারা কেন এ ব্যাপারে পরামর্শ দিচ্ছেন তা আমার কোনও ধারণা নেই। $ এক্সটেনশনগুলি সাধারণ-ব্যবহারের স্টাফ হতে হবে যা ইতিমধ্যে বেশ ভালভাবে কভার করা হয়েছে যা বিল্ড-মি-এ-সম্পূর্ণ-উইজেট পদ্ধতি নয়। এটি একটি ডোম-এপিআই সাধারণকরণ সরঞ্জাম এটির ব্যবহারটি আপনার নিজের অবজেক্টের মধ্যে সেরাভাবে সমাহিত করা হয়। আমি এটি একটি পূর্ণ অন ইউআই লাইব্রেরির সংগ্রহস্থল হিসাবে ব্যবহার করার আবেদন দেখতে পাচ্ছি না।

ক্লায়েন্ট সাইড ওয়েবে থাকা প্যাকেজগুলি অর্থহীন

ক্লায়েন্ট-সাইড ওয়েবে থাকা প্যাকেজগুলির সম্পর্কে আমি ব্যক্তিগতভাবে যা পছন্দ করি না তা হ'ল আমরা মূলত ভান করে যাচ্ছিলাম যে আমরা এমন কিছু করছি যা আমরা আসলে করছি না। আমাদের জাভা-বন্ধুরা জগতের নেট নেটফর্ম এবং গাবস অফ হরফিংফিং স্টাফ-এ-কখনও-প্যানড-আউট-এর বাইরে যুক্ত হ'ল এটি আসলে কি এবং নতুন কিছু-প্রতিরোধী ওএস অ্যাপ বিকাশকারীদের এটি অন্যরকম কিছু ভান করে সন্তুষ্ট করার চেষ্টা করবেন না। ক্লায়েন্ট-সাইড ওয়েবে জেএস-এ, ব্রাউজার-ক্যাচিংয়ের অজ্ঞতায় পরিচালিত আজাক্সের সাথে ভয়ঙ্কর কিছু করার ব্যতীত কিছুই "আমদানি" হয় না, যা হ্যাঁ, অনেকেই চেষ্টা করেছেন many ব্রাউজারের জন্য যা কিছু রয়েছে তা হ'ল এটি হয় লোড হয়েছিল এবং ব্যাখ্যা করা হয়েছিল বা এটি ছিল না। "কেবলমাত্র" যদি ব্যবহারের জন্য ক্লায়েন্টের কাছে পাওয়া যায় তবে আমাদের কাছে আরও কোড থাকে না ভাল কারণে # 1 হ'ল আমি কেবল কোনও অ্যাপ্লিকেশন হিসাবে একটি প্লাগ-ইন এবং ব্রাউজার প্লাগ-ইন নির্ভরতা বর্ণনা করেছি কারণ সাধারণভাবে খুব ভাল কাজ হয়নি। আমরা এখন ওয়েব চাই এই সপ্তাহে তৃতীয়বার অ্যাডোব বা সান আপডেট করার পরে নয়।

কাঠামোর জন্য ভাষাটির যা প্রয়োজন তা হ'ল

জেএস বস্তুগুলি অত্যন্ত পরিবর্তনীয়। আমাদের যে কোনও ডিগ্রীতে নেমস্পেসের গাছগুলি শাখা প্রশাখাগুলি থাকতে পারে যা এটি করা আমাদের পক্ষে দরকারী এবং এটি করা খুব সহজ। তবে হ্যাঁ, পুনরায় ব্যবহারযোগ্য যে কোনও কিছুর জন্য আপনাকে বৈশ্বিক জায়গাতে যে কোনও লাইব্রেরির মূল আটকে রাখতে হবে। সমস্ত নির্ভরতা লিঙ্কযুক্ত এবং যে কোনও উপায়ে একই সময়ে লোড করা হয়, তাই অন্য কিছু করার কী লাভ? গ্লোবাল নেমস্পেস এড়িয়ে চলার বিষয়টি যে কোনও খারাপ কিছুই নয়। এটি সেখানে খুব বেশি জিনিস খারাপ কারণ আপনি নেমস্পেসের সংঘর্ষের ঝুঁকি বা ঘটনাক্রমে মূল ভাষার বৈশিষ্ট্যগুলিকে ওভাররাইটিংয়ের ঝুঁকিটি চালান।

এটি জনপ্রিয় হওয়ার অর্থ এই নয় যে আমরা এটি সঠিকভাবে করছি

এখন আপনি যখন ক্লায়েন্ট-সাইড ওয়েব অ্যাপ্লিকেশনটিতে এটি দেখেন:

(function(){
//lots of functions defined and fired and statement code here
})()

সমস্যাটি এমন নয় যে আমাদের চারপাশে একটি অ্যাপ্লিকেশন গঠনের জন্য সরঞ্জামগুলির অভাব নেই, সমস্যাটি হ'ল লোকেরা কাঠামোর মূল্যায়ন করে না। একটি ডিজাইন এজেন্সিতে 2-3 পৃষ্ঠা ওয়ান অফ অফ অস্থায়ী নিক্ষেপযোগ্য সাইটের জন্য, আমার সত্যিই তাতে সমস্যা নেই। এটি কুরুচিপূর্ণ হয় যখন আপনি রক্ষণাবেক্ষণযোগ্য এবং সুগঠিত এবং সংশোধন করা সহজ কিছু তৈরি করতে হবে।

আপনি যখন পুনরায় ব্যবহারযোগ্য অবজেক্ট এবং কারখানার সমস্ত বাস্তবায়নের সময় হয়ে ওঠেন এবং সম্ভবত এক বা দুটি নতুন অস্থায়ী ভার্সগুলি সেই প্রক্রিয়াটিতে স্ফীত হতে পারে, তবে এটি একটি সুবিধে।

তবে প্যাকেজ / মডিউলগুলির সাথে জেএসের প্রয়োগ রয়েছে

মনে রাখবেন যে নোড.জেজে, যেখানে এই জাতীয় জিনিসগুলি আরও বেশি অর্থবোধ করে, সেখানে তাদের মডিউল থাকে। জেএস, ধরে নিই যে আমরা উবার-কনফিগারেশন-হেল এড়াতে পারি যা অন্যান্য ভাষাগুলি জর্জরিত করে, সমীকরণের মধ্যে এটিই একমাত্র জিনিস এবং প্রতিটি সম্পাদিত ফাইলের নিজস্ব বিচ্ছিন্ন সুযোগ। তবে একটি ওয়েব পৃষ্ঠায়, জেএস-ফাইলের লিঙ্ক করা নিজেই আমদানির বিবৃতি। ফ্লাইতে বেশি আমদানি করা কেবল সময় এবং সংস্থানগুলির অপচয় হওয়ায় ফাইলগুলির লিঙ্ক যুক্ত করার চেয়ে সংস্থানগুলি পাওয়ার জন্য আরও অনেক বেশি প্রচেষ্টা প্রয়োজন কারণ আপনার যদি অন্য কোনও পৃষ্ঠার প্রয়োজন হয় তবে তাদের ব্রাউজারে ক্যাশে রাখা হবে তা জানা দরকার। সুতরাং জিকুয়ারি বা আরও বেশি traditionalতিহ্যবাহী অবজেক্টস যেমন অ্যাডাপ্টার অবজেক্ট কারখানা তৈরি করা ছাড়া বিশ্বব্যাপী এক স্পেস দখল করার সময় একটি নির্দিষ্ট ডোমেইনের কাজগুলির বৃহত উপসেটটি কভার করে অন্য কিছু করে বিশ্বব্যাপী স্পেস বিভক্ত করার চেষ্টা করা হচ্ছে। সেখানে 'http://wiki.ecmascript.org/doku.php?id=harmony:modules

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

আমরা এই জাতীয় কাজগুলি করতে পারি তা সত্যই দুর্দান্ত। ভারী ব্যবহার এমন একটি চিহ্ন যা জেএস বিকাশকারীরা এখনও সম্ভবত পরিপক্ক হয় তবে এটি যে ক্লায়েন্ট-সাইড ওয়েবে একটি দৃষ্টান্ত জোর করার চেষ্টা করছে না তার পক্ষে ভাষার কোনও ফাঁক গর্ত নয় যা কেবল এখানে বোঝা যায় না।


ডাউন-ভোটারের কাছে, আপনি দয়া করে কেন ব্যাখ্যা করতে পারেন? কেউ যখন এত বেশি লেখেন তখন আমি মনে করি সে তার ব্যাখ্যা পাওয়ার যোগ্য!
গানগো

+1 ভাল উত্তর, কেন ডাউন ভোট আগে তা নিশ্চিত নয়।
প্লী

অসাধারণ লেখার আপ এবং দুর্দান্ত দৃষ্টিকোণ। আমি "পছন্দ করি কারণ এটি একটি ট্রপ মানেই ঠিক নয়"। আমি মনে করি আমার সমস্যাটি হ'ল আমি কঠোর ভাষাগুলিতে আরও স্বাচ্ছন্দ্য বোধ করি, যা (আইএমও) বিভিন্নভাবে উন্নয়নের দক্ষতায় সহায়তা করে। জাভাস্ক্রিপ্টটি চেক এবং ব্যালেন্সে অনেক বেশি নির্মিত না হয়ে সত্যই কাম্য-ধোঁয়াশা বলে মনে হচ্ছে: আপনি যা যা করতে পারেন তা করতে পারেন, সুতরাং ল্যান্ডস্কেপটি বুদ্ধিমানের এবং অনুশীলনের একটি জগাখিচুড়ি রয়েছে। আপনার কোডিং কাঠামোর কাছে যাওয়ার জন্য "ডান" উপায়টি পেরেক করা শক্ত। যদিও আমি সম্মত হই যে দ্রুত 1-অফ জব্বিজগুলির জন্য, এটি বড় উদ্বেগ নয়।
টম অগার

1
আইএমও, নিজেকে ফাঁসানো ছাড়াও প্রচুর দড়ি দিয়ে আপনি অনেক কিছু করতে পারেন এবং আপনি মাঝে মাঝে স্ব-স্তব্ধ হয়ে দ্রুত জোরালো কোড লিখতে শিখেন যা আপনার ভাল অভ্যাস বিকাশের কারণে কম ঘন ঘন ঘটে থাকে, তবে আমি এর ভান করব না প্রত্যেকে বা প্রতিটি কাজের জন্য আদর্শ প্রার্থী। আমি সন্দেহ করি আপনি এটি সম্পর্কে যত বেশি শিখবেন তবে এটি আপনি তত বেশি সহনীয় হবেন। জেএসের মতো নমনীয় / পরিবর্তনযোগ্য হিসাবে প্রথম শ্রেণির ফাংশন বা অবজেক্ট ছাড়া ভাষায় জিনিসগুলি করার চেষ্টা করার সময় আমি আমার অর্ধ মস্তিষ্ককে অনুভব করছি।
এরিক পুনরায়

4

আপনি যে অন্য জিনিসটি মিস করছেন তা হ'ল জাভাস্ক্রিপ্ট অবশ্যই পিছনের দিকে সামঞ্জস্যপূর্ণ। আপনি যদি প্যাকেজ সিনট্যাক্স উপস্থাপনের চেষ্টা করেন তবে এটি সত্যিই কিছু ক্রেজি উপায়ে ওয়েবকে ভেঙে দিতে পারে। খারাপ হবে! ডগ ক্রকফোর্ড বিভিন্ন পয়েন্টে এ বিষয়ে কথা বলেছেন এবং কেন এটি যুক্ত করার চেষ্টা ব্যর্থ হয়েছে।


এটা একটা ভাল দিক. এবং তবুও অ্যাকশনস্ক্রিপ্ট এটিকে পরিচালনা করে, কেবল একটি নতুন সংস্করণ রেখে। যখন আপনাকে স্ক্রিপ্ট ট্যাগটি সংজ্ঞায়িত করা হয়, আপনি সর্বদা জাভাস্ক্রিপ্ট সংস্করণ নির্দিষ্ট করতে সক্ষম হয়েছিলেন, সুতরাং বিদ্যমান সাইটগুলিকে "ব্রেকিং" একটি নন-ইস্যু হওয়া উচিত।
টম অগার

1
অনুশীলনে নেটে বেশিরভাগ স্ক্রিপ্ট ট্যাগগুলির কোনও সংস্করণ নম্বর থাকে না। সত্য কথা বলতে গেলে আমি এই বিষয়গুলির সমস্ত বিষয়ে নিশ্চিত নই, তবে আমি জানি যে এই জিনিসগুলি সম্পর্কে ভাবেন লোকেরা সিদ্ধান্ত নিয়েছে যে এটি অযোগ্য নয়।
জাচারি কে

1
@ টম: ফ্ল্যাশ প্ল্যাটফর্মের উপর অ্যাডোবেরও পুরো নিয়ন্ত্রণ রয়েছে। সেখানে থাকা সমস্ত জেএস প্ল্যাটফর্মগুলিতে কোনও সত্তারই সম্পূর্ণ নিয়ন্ত্রণ নেই। এছাড়াও, কোনও ব্রাউজারে জেএস স্ক্রিপ্টের জন্য কেবল কোনও সংস্করণ নম্বরে টেকিংয়ের অর্থ আপনি বয়সের ব্রাউজারগুলিকে সমর্থন করছেন না বা দুটি স্ক্রিপ্ট লিখতে হবে have সুতরাং, এটা হল একটি বিষয়।
জেরেমি হিলার

2

হ্যাঁ, এটি একটি জঞ্জাল।

প্রচুর লোক বলছেন যে "প্রোটোটাইপগুলি ক্লাস থেকে নিকৃষ্ট নয়" " আমি দ্বিমত পোষণ করছি, তবে এটি অগ্রাধিকারের বিষয়। তবে এটি জাভাস্ক্রিপ্টের ক্ষেত্রেও আসল সমস্যা নয় - সমস্যাটি হ'ল এনিমেটেড বোতামগুলির মতো জিনিস তৈরির জন্য এটি মূলত একটি দ্রুত এবং মলিন স্ক্রিপ্টিং ভাষা হিসাবে তৈরি করা হয়েছিল। নব্বইয়ের দশকের মাঝামাঝি কেউ কখনও ভাবেন নি যে জাভাস্ক্রিপ্টকে এখন যে ক্রেজি স্টাফ করছে তা করার জন্য বলা হবে।


6
আমি একমত নই, জাভাস্ক্রিপ্টটি ভাষাটি আসলেই দুর্দান্ত। এটি একটি নির্দিষ্ট এবং পারস্পরিক-বেমানান ডিওএম এর সাথে একত্রে একত্র হয়ে গেছে যেখানে সমস্ত সমস্যা শুরু হয়েছিল।
ডিন হার্ডিং

2
প্রোটোটাইপগুলির সাথে এটির কী সম্পর্ক?
এরিক রেপেন

2

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

ক্লাসগুলি কীভাবে সত্যই আলোচনায় প্রবেশ করে তা আমি দেখতে পাচ্ছি না, এগুলি ব্যতীত তারা বহু ভাষায় শীর্ষ স্তরের স্কোপিং গঠন। গ্লোবাল-এনভায়রনমেন্ট কনস্ট্রাক্টের জন্য আরও ভাল মডিউল / প্যাকেজ / দয়া করে আমাকে-স্থানীয়-স্কোপ-তাই-আমি-ছাড়ি না-আমার-ভেরিয়েবলগুলি -কে-খুব ভাল লাগবে।


1

আপনি ExtJS 3 এবং 4 এ একবার দেখতে চাইতে পারেন যেখানে তারা নেমস্পেসগুলি বেশ ভালভাবে প্রয়োগ করতে পেরেছে।

- -১ এর পরে যুক্ত হয়েছে

আমার বক্তব্যটি এখানে ছিল, এই সমস্ত 'কনভোলিউশনগুলি' লুকানো সম্ভব এবং এখনও এর মতো সুন্দর বন্ধুত্বপূর্ণ কোড রয়েছে:

Ext.ns('com.tomauger');
Ext.Loader.load('bar.js'); //unfortunately filname needs to be used
MyNameSpace.Foo = {
   //...
}
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.