javascript - কি(ফাংশন($){})(jQuery); এর অর্থ কি?



(4)

শুধু ব্যাখ্যা ছোট সংযোজন

এই গঠন (function() {})(); IIFE (অবিলম্বে ইনভোকড ফাংশন এক্সপ্রেশন) বলা হয়, এটি অবিলম্বে কার্যকর করা হবে, যখন ইন্টারপ্রেটার এই লাইনে পৌঁছাবে। তাই যখন আপনি এই সারি লিখছেন:

(function($) {
  // do something
})(jQuery);

এর মানে হল যে, ইন্টারপ্রেটার এই ফাংশনটি অবিলম্বে আহ্বান করবে এবং প্যারামিটার হিসাবে jQuery পাস করবে, যা ফাংশনের ভিতরে $ হিসাবে ব্যবহার করা হবে।

https://ffff65535.com

আমি শুধু jQuery প্লাগইন লেখার সাথে শুরু করছি। আমি তিনটি ছোট প্লাগিন লিখেছি কিন্তু আসলেই কী বুঝেছি তা ছাড়া আমি কেবল আমার সমস্ত প্লাগইনগুলিতে লাইন অনুলিপি করছি। কেউ আমাকে এই সম্পর্কে একটু কিছু বলতে পারেন? একটি কাঠামো লেখার সময় সম্ভবত একটি ব্যাখ্যা কাজে আসবে :)

এটা কি করে? (আমি জানি এটি কোনওভাবে jQuery প্রসারিত করে তবে এটি সম্পর্কে জানতে আগ্রহী অন্য কিছু আছে)

(function($) {

})(jQuery);

একটি প্লাগইন লেখার নিম্নলিখিত দুটি পদ্ধতির মধ্যে পার্থক্য কী?

ধরন 1:

(function($) {
    $.fn.jPluginName = {

        },

        $.fn.jPluginName.defaults = {

        }
})(jQuery);

টাইপ 2:

(function($) {
    $.jPluginName = {

        }
})(jQuery);

টাইপ 3:

(function($){

    //Attach this new method to jQuery
    $.fn.extend({ 

        var defaults = {  
        }  

        var options =  $.extend(defaults, options);  

        //This is where you write your plugin's name
        pluginname: function() {

            //Iterate over the current set of matched elements
            return this.each(function() {

                //code to be inserted here

            });
        }
    }); 
})(jQuery);

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


একটু সাহায্য:

// an anonymous function
  
(function () { console.log('allo') });

// a self invoked anonymous function

(function () { console.log('allo') })();
  
// a self invoked anonymous function with a parameter called "$"
  
var jQuery = 'I\'m not jQuery.';

(function ($) { console.log($) })(jQuery);


প্রকৃতপক্ষে, এই উদাহরণটি আমাকে বুঝতে সাহায্য করেছে (function($) {})(jQuery); এর অর্থ কি?

এই বিবেচনা:

// Clousure declaration (aka anonymous function)
var $f = function (x) { return x*x; };
// And use of it
console.log($f(2)); // Gives: 4

// An inline version (immediately invoked)
console.log((function (x) { return x*x; })(2)); // Gives: 4

এবং এখন:

jQuery একটি পরিবর্তনশীল ধারণ jQuery বস্তু।
$ অন্য কোনও মত একটি পরিবর্তনশীল নাম ( a , $b , a$b ইত্যাদি এবং এটি পিএইচপি মত কোন বিশেষ অর্থ নেই)।

var $f = function ($) { return $*$; };
var jQuery = 2;
console.log($f(jQuery)); // Gives: 4

// An inline version
console.log((function ($) { return $*$; })(jQuery)); // Gives: 4

প্রথমত, একটি কোড ব্লক যা দেখতে (function(){})() কেবল একটি ফাংশন যা সঞ্চালিত হয়। এর একটু নিচে ভাঙ্গা যাক।

1. (
2.    function(){}
3. )
4. ()

লাইন 2 একটি সাধারণ ফাংশন, বন্ধনীতে আবৃত একটি প্লেইন ফাংশন যা রানটাইমটি পিতামাতার স্কোপে ফাংশনটি ফেরত দিতে বলে, এটি ফিরলে ফাংশনটি লাইন 4 ব্যবহার করে কার্যকর হয়, সম্ভবত এই পদক্ষেপগুলি পড়তে সাহায্য করবে

1. function(){ .. }
2. (1)
3. 2()

আপনি দেখতে পারেন যে 1 ঘোষণা, 2 ফাংশনটি ফেরত দিচ্ছে এবং 3 কেবল ফাংশনটি কার্যকর করছে।

এটি ব্যবহার করা হবে কিভাবে একটি উদাহরণ।

(function(doc){

   doc.location = '/';

})(document);//This is passed into the function above

প্লাগিন সম্পর্কে অন্যান্য প্রশ্নগুলির জন্য:

প্রকার 1: এটি আসলে একটি প্লাগইন নয়, এটি একটি ফাংশন হিসাবে প্রেরিত একটি অবজেক্ট, প্লাগিনগুলি ফাংশন হিসাবে থাকে।

টাইপ 2: এটি আবার প্লাগইন নয় কারণ এটি $.fn অবজেক্টটি প্রসারিত করে না। এটি শুধু jQuery কোরের একটি বহিঃপ্রকাশ, যদিও ফলাফল একই। আপনি ট্র্যাভারিং ফাংশন যেমন ToArray এবং আরও যোগ করতে চান তাহলে এটি হল।

প্রকার 3: এটি একটি প্লাগইন যোগ করার সর্বোত্তম পদ্ধতি, jQuery এর বর্ধিত প্রোটোটাইপ আপনার প্লাগইন নাম এবং ফাংশন ধারণ করে এমন একটি বস্তু নেয় এবং এটি আপনার জন্য প্লাগইন লাইব্রেরিতে যোগ করে।





jquery