আমি তাত্ক্ষণিকভাবে অনুরোধ করা ফাংশন সম্পর্কে তথ্য সন্ধান করছি এবং কোথাও আমি এই স্বরলিপিটিতে হোঁচট খেয়েছি:
+function(){console.log("Something.")}()
কেউ কি আমাকে বুঝিয়ে দিতে পারে +
যে ফাংশনের সামনের সাইনটির অর্থ / কী?
আমি তাত্ক্ষণিকভাবে অনুরোধ করা ফাংশন সম্পর্কে তথ্য সন্ধান করছি এবং কোথাও আমি এই স্বরলিপিটিতে হোঁচট খেয়েছি:
+function(){console.log("Something.")}()
কেউ কি আমাকে বুঝিয়ে দিতে পারে +
যে ফাংশনের সামনের সাইনটির অর্থ / কী?
উত্তর:
এটি পার্সারকে নিম্নলিখিত অংশটিকে +
একটি অভিব্যক্তি হিসাবে আচরণ করতে বাধ্য করে forces এটি সাধারণত তত্ক্ষণাত ডাকা হয় এমন ফাংশনগুলির জন্য ব্যবহৃত হয়, যেমন:
+function() { console.log("Foo!"); }();
+
সেখানে ছাড়াই , যদি পার্সার এমন কোনও অবস্থানে থাকে যেখানে এটি কোনও বিবৃতি প্রত্যাশা করে (যা কোনও অভিব্যক্তি বা একাধিক অ-প্রকাশের বিবৃতি হতে পারে), শব্দটি কোনও ফাংশন প্রকাশের চেয়ে function
ফাংশন ঘোষণার সূচনার মতো দেখায় এবং সুতরাং নিম্নলিখিতটি (উপরের লাইনের শেষে থাকাগুলি) একটি সিনট্যাক্স ত্রুটি হবে (যেমন কোনও নামের অনুপস্থিতি যেমন হবে)। এর সাহায্যে এটি এটিকে একটি ফাংশন এক্সপ্রেশন করে তোলে যার অর্থ নামটি alচ্ছিক এবং যার ফলে ফাংশনটির একটি রেফারেন্স আসে, যা আহ্বান করা যায়, সুতরাং বন্ধনীগুলি বৈধ।()
+
+
বিকল্পগুলির মধ্যে একটি মাত্র। এছাড়া হতে পারে -
, !
, ~
, বা শুধু অন্য কোন ইউনারী অপারেটর সম্পর্কে। পর্যায়ক্রমে, আপনি প্রথম বন্ধনী ব্যবহার করতে পারেন (এটি আরও সাধারণ, তবে সিনট্যাকটিকভাবে আরও বেশি বা কমও সঠিক নয়):
(function() { console.log("Foo!"); })();
// or
(function() { console.log("Foo!"); }());
@ টিজে ক্রাউডারের উত্তরের অনুদানকারী, +
সাধারণত এই এসও উত্তরটি ব্যাখ্যা করার সাথে সাথে একটি মানকে সংখ্যাসূচক ingালাই করতে বাধ্য করতে ব্যবহৃত হয় । এই পরিস্থিতিতে একে 'আনারি প্লাস অপারেটর' (গুগলিংয়ের স্বাচ্ছন্দ্যের জন্য) বলা হয়।
var num = +variant;
সুতরাং একটি ফাংশন সামনে এটি একটি উপায় হতে পারে ফাংশন ফলাফল একটি সংখ্যা হিসাবে ব্যাখ্যা করা বাধ্য। আমার সন্দেহ হয় এটি এখনও ঘটেছে, তবে তাত্ত্বিকভাবে জেআইটি এটি কেবলমাত্র সংখ্যাসূচক ফাংশন ইত্যাদি হিসাবে সংকলন করতে ব্যবহার করতে পারে তবে বৃহত্তর অভিব্যক্তিতে ব্যবহৃত হওয়ার সময় অ্যানারি প্লাসকে একটি কনটেন্টেশন হওয়া রোধ করতে আপনার প্রথম বন্ধনী প্রয়োজন:
blah + (+(function(){ var scope; return "4"; })());
(+function() { ... })()
নোটেশন (সত্য ছাড়া যে এই প্রশ্নের উত্তর দিতে না) ত্রুটি ছাড়া চালানো না থাকতে পারে।
3++function...
এটি একই নয়।
+function...
নিজের মধ্যে অপ্রয়োজনীয়। একই ফলস্বরূপ blah + function( ){ ... }( );
এমনটি ঘটতে পারে যা মোড়ানো বন্ধনীগুলির প্রয়োজনটিকে উপেক্ষা করবে।
সুতরাং সংক্ষিপ্ত উত্তরটি হ'ল এটি কোনও সিন্ট্যাক্স ত্রুটিটিকে বাধা দেয়, ফাংশনটির ফলাফলকে অন্য কোনও উপায়ে ব্যবহার করে।
আপনি ইঞ্জিনটি নির্দেশও দিতে পারেন যে void
অপারেটরটি ব্যবহার করে আপনি রিটার্ন মানটিতে আগ্রহী নন :
void function() { console.log("Foo!"); }();
অবশ্যই, পুরো জিনিসটির চারপাশে ব্রেস লাগানোও সেই উদ্দেশ্যে কাজ করে।