জাভাস্ক্রিপ্ট কি কার্যকরী প্রোগ্রামিং ভাষা?


135

ফাংশনগুলি প্রথম শ্রেণীর অবজেক্ট, ক্লোজার এবং উচ্চতর ক্রম ফাংশনগুলির কারণে, জাভাস্ক্রিপ্টকে কি কার্যকরী প্রোগ্রামিং ভাষা বলা যায়? আমার মনে হয় যে প্রধান বিষয়টির অভাব রয়েছে তা হ'ল খাঁটি ফাংশন, এবং এটি লিস্পের মতো অন্যান্য কার্যকরী ভাষার মতো 'অনুভব' করে না (যদিও এটি কার্যকরী ল্যাঙ্গেজ না হওয়ার জন্য এটি সত্যিকারের কারণ নয় ...)


12
@ স্ল্যাশমাইস: না! এটি কেবলমাত্র একটি শুদ্ধ (ল্যা) কার্যকরী ভাষা হতে বাধা দেয়। এমএল (কমপক্ষে আধুনিক উপভাষাগুলি )ও অপরিষ্কার - তবে কোনও তাদের

4
প্রচুর ভাষাগুলি রয়েছে যা সাধারণত কার্যকরী বলে বিবেচিত হয় তবে এগুলি শুদ্ধ নয়। আমি দেখতে পাচ্ছি না যে এটি কীভাবে প্রয়োজন। আপনি যদি সেই কঠোর হতে চান তবে বেশিরভাগ তথাকথিত ওওপি ভাষাও ওওপি নয়। আপনি প্রায় 95% সমস্ত ভাষার নন-প্যারাডিম ভাষা হিসাবে শেষ করেছেন।
jalf

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

3
@ এইচভিগোটকোডস: তাই? একেবারে কোনও নিয়ম বলে না যে এটি তা নয়। আমার থাম্বের নিয়মটি হ'ল আপনি যদি এটি কার্যকরী শৈলীতে প্রোগ্রাম করতে ব্যবহার করতে পারেন তবে এটি একটি কার্যকরী ভাষা। যেহেতু জাভাস্ক্রিপ্টের প্রথম শ্রেণির ফাংশন, ক্লোজার এবং ল্যাম্বডাস রয়েছে, তাই আমি বিশ্বাস করি আপনি পারবেন এবং যতদূর আমি উদ্বিগ্ন, এটি কার্যকরী ভাষা। একটি খাঁটি নয়, স্পষ্টতই, তবে আমরা সাধারণত যে এফপি বিবেচনা করি সেগুলির বেশিরভাগ ভাষা (উদাহরণস্বরূপ এসএমএল) নয়। সুতরাং সত্যিই, আমি মনে করি আপনার কেবল খালি হওয়া দরকার think যদি এটি আপনার চোখকে মোচড় দেয়, আপনার একটি ডাক্তার দেখাতে হবে।
jalf

3
@ জালফ, একেবারে এই প্রশ্নের প্রেরণাটি আমি জানতে চেয়েছিলাম যে আমার সমকক্ষরা এবং আমার চেয়ে চতুর লোকেরা কী ভাবেন।
hvgotcodes

উত্তর:


180

একই প্রশ্নের আমার নিজের উত্তরটি পুনরাবৃত্তি করা ,

ক্রিয়ামূলক প্রোগ্রামিং ভাষার কোনও স্বীকৃত সংজ্ঞা নেই।

আপনি যদি প্রথম শ্রেণীর ফাংশন এবং ল্যাম্বডাসকে সমর্থন করে এমন ভাষা হিসাবে ফাংশনাল ভাষাটি সংজ্ঞায়িত করেন, তবে হ্যাঁ, জাভাস্ক্রিপ্ট * একটি কার্যকরী ভাষা।

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


আমি আপনাকে নিম্নলিখিত সম্পর্কিত ব্লগ পোস্টগুলি পড়তে উত্সাহিত করব (এবং তাদের নীচের মন্তব্যগুলিও):


29
সার্বজনীন সংজ্ঞা নেই এবং প্রত্নতাত্ত্বিক কার্যকরী ভাষার বৈশিষ্ট্যগুলির জেএসের কিছু উদাহরণ আনার জন্য +1

1
মোজিলার জাভাস্ক্রিপ্ট প্রয়োগের পরবর্তী সংস্করণগুলিতে (১.7 দিয়ে চিহ্নিত)
ডিস্ট্রাকচারিং

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

2
@ ওপেনলিয়ারার, আংশিক অ্যাপ্লিকেশনটি আমি প্রায় সি ভাষা এমনকি সি দ্বারা সমর্থন করতে পারি, এমনকি "সমর্থন" এর একটি নির্দিষ্ট সংজ্ঞার জন্য। জেএসের ক্ষেত্রে বিষয়টিও আলাদা নয়। মূল বিষয়টি হ'ল আংশিক প্রয়োগটি সেই ভাষায় অনায়াসে এবং প্রথম শ্রেণির। জেএসে, তা হয় না। আপনি যদি আমার অর্থটি সম্পর্কে আগ্রহী হন তবে ওসিএএমএল বা হাস্কেল একবার দেখুন।
মিসিংফ্যাক্টর

জাভাস্ক্রিপ্ট অপরিবর্তনীয়তা সমর্থন করে।
fka

26

আমি বলব যে এটি একটি বহু-দৃষ্টান্তের ভাষা।

সম্পাদনা: এটি বহু-দৃষ্টান্ত এবং এতে কার্যকরী নির্মাণ রয়েছে।


হ্যাঁ, আমি সম্মতি দিচ্ছি এটি একটি মিশ্রণ এবং বিভিন্ন জিনিস।
অ্যাশলে গ্রেনন

5
কিন্তু যে কিনা এটা প্রশ্নের উত্তর নেই এছাড়াও কার্মিক। বহু-দৃষ্টান্ত হওয়া মানে একাধিক প্যারাডিজমকে সমর্থন করে। এই দৃষ্টান্তগুলির মধ্যে একটি কি কার্যকরী প্রোগ্রামিং?
জুলফ

15

আপনি যদি দার্শনিক আলোচনার বিন্দুতে "ফাংশনাল প্রোগ্রামিং" শব্দটি প্রসারিত এবং মোচড় দেন তবে এই প্রশ্নটি আবার খোলা হতে পারে। তবে, তবে আপনি "সি সি ++ আসলেই কোনও প্রোগ্রামিং ভাষা" এর মতো দরকারী প্রশ্নের স্তরে এসে পৌঁছেছেন?

আরও দৈনিক স্তরে আপনার প্রশ্নের উত্তর হ'ল "না"

ফাংশনাল প্রোগ্রামিং এর অর্থ হ'ল প্রোগ্রামটি কোনও নিয়ন্ত্রণ প্রবাহের পরিবর্তে কোনও ক্রিয়াকলাপের মূল্যায়ন হিসাবে রূপান্তরিত হয়। কোডটি ফাংশনগুলির বিবরণ এবং কোনও নিয়ন্ত্রণ প্রবাহের সহজাত ধারণা নেই।

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


1
ডিজাইনের উদ্দেশ্য? আপনি কি বোঝাতে চেয়েছেন? সর্বশেষে আমি যাচাই করেছিলাম, এর অনুপ্রেরণার অন্যতম উত্স ছিল স্কিম। আমি এটাকে পুরোপুরি স্পষ্ট করে বলতে পারি যে এর নকশার অন্যতম উদ্দেশ্য ছিল ক্রিয়াকলাপূর্ণ প্রোগ্রামিং সমর্থন করা এবং সাথে সাথে এক
বালতিতে

2
এটি সি ++ এর মতো কার্যকর ক্রিয়াকলাপ সমর্থন করে, যদি আপনি নিজের দ্বারা এটির জন্য উপযুক্ত ভিত্তি লিখেন - আপনি যতটা আবশ্যক বাক্য গঠন অনুকরণ করতে পারেন, বলুন, হেস্কেল অল্প কাজ করে। তবুও জাভাস্ক্রিপ্টের বাক্য গঠনটি কোনও ক্রিয়াকলাপের মূল্যায়নের চেয়ে এএএ কাজের প্রবাহের কথা ভাবাবে। সেই কারণে, আমি (বা বেশিরভাগ ক্রিয়ামূলক প্রোগ্রামাররা) "ফাংশনাল" শব্দটি অত্যধিক বিস্তৃত হিসাবে বিবেচনা করি।
শুহালো

@ user411768: তাই আপনি বলছেন যে ভাষা কার্যকর কিনা তা তার আদর্শ গ্রন্থাগারের নকশার উপর নির্ভর করে? আমি শুনিনি যে সামনে সংজ্ঞা। ফাংশনাল স্টাইলে প্রোগ্রাম করার জন্য জাভাতে বেশিরভাগ সরঞ্জাম রয়েছে (উদাহরণস্বরূপ ক্লোজার এবং বেনাম ফাংশন), যা সি ++ (বর্তমানে) নেই। আমি মনে করি যে জেএসকে সি ++ এর চেয়ে অনেক বেশি এফপি করে তোলে। যে ভাষা আপনাকে এফপি স্টাইলে প্রোগ্রাম করতে বাধ্য করে না, এটি "কম কার্যকরী" করে না, তাই না?
jalf

1
(i) প্রমিত লাইব্রেরিটি সিন্টেক্সটিকাল বৈশিষ্ট্যগুলি যেমন মানক একটি অংশ, এবং নির্দিষ্ট আইডোমেটিক এবং ধারণাগত শৈলীতে জোর দেয়। যেমন "সি ++ এর সাথে এসটিএল" "ক্লাস সহ সি" থেকে খুব আলাদা। এর একটা প্রভাব আছে। (ii) জাভাস্ক্রিপ্টে অবজেক্ট ওরিয়েন্টেশন, প্রথম শ্রেণির-নাগরিক ফাংশন বৈশিষ্ট্য রয়েছে - বৈশিষ্ট্যগুলি বরং অপ্রয়োজনীয় / ক্রিয়ামূলক-দ্বিধাত্বিকতার জন্য অরথোগোনাল। যাইহোক, এটি সরাসরি কারিঙ প্রয়োগ করে না, এটি বিশুদ্ধতাও সরবরাহ করে না, কখনও এর জন্যও এর উদ্দেশ্য ছিল না। (iii) এতে আমার শেষ কথা, পোস্টটির প্রথম অনুচ্ছেদ দেখুন।
shuhalo

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

9

"ফাংশনাল প্রোগ্রামিং" ভাষাটি আজকাল এতটা ওভারলোড হয়েছে যে এটি প্রায় অকেজো। এর দুটি প্রভাবশালী অর্থ রয়েছে:

  1. প্রথম শ্রেণির ফাংশন রয়েছে
    • জাভাস্ক্রিপ্ট এটাই!
  2. লম্বা ক্যালকুলাসে ব্যবহৃত ফাংশনগুলির উপর ভিত্তি করে, অবিচ্ছিন্ন পরিবর্তনশীল স্থিতি এড়ানো উপর জোর দিয়ে (প্রায়শই এটি ফাংশনগুলিতে পাস হওয়া পরামিতিগুলির সাথে প্রতিস্থাপন করা হয়)
    • যেমনটি সাধারণত লেখা আছে, জাভাস্ক্রিপ্ট দূরবর্তীভাবে এটি নয়!

আপনার অর্থ চয়ন করুন এবং তারপরে প্রশ্নটি উত্তরযোগ্য।


এমন কোনও উত্স আছে যা "ক্রিয়ামূলক প্রোগ্রামিং" ব্যবহার করে ভাষার সাথে প্রথম অর্ডার নাগরিক বলে ফাংশনগুলি উল্লেখ করে?
shuhalo

@ user411768: আসলে, উইকিপিডিয়ায় নিবন্ধের সাথে যুক্ত অন্য উত্তরদাতা, যা এই সংজ্ঞাটি ব্যবহার করে। en.wikedia.org/wiki/ জাভাস্ক্রিপ্ট - জোয়েল স্পলস্কি তাঁর "আপনার প্রোগ্রামিং ভাষাটি কি এটি করতে পারে?" তে এই সংজ্ঞাটি প্ররোচিত করেছিল? "ফাংশনাল প্রোগ্রামিং" এর সুবিধা সম্পর্কে পোস্ট করুন
চক

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

@ ওপেনলিয়ারার: ​​আচ্ছা, হ্যাঁ, তবে জাভা এবং অন্যান্য প্রচুর ভাষার ক্ষেত্রেও একই কথা, যা সাধারণত কড়াভাবে অপরিহার্য বলে মনে করা হয় - আপনি এগুলিকে কার্যকরী স্টাইলে লিখতে পারেন , তবে এটি ভাষার সুখী পথ নয়।
চক

... তবে সর্বশেষ জেএস এটি সমর্থন করবে।
এরিক পুনরায়

3

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


2

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


এই যুক্তি দ্বারা, এফ # কে আর দীর্ঘস্থায়ী বলা যায় না।
এরিক মিক্কেলসেন

1
ঠিক। উইকিপিডিয়া মতে, এফ # ঠিক কি আমি শুধু জাভাস্ক্রিপ্ট বলা হয়: "এফ # [...] একটি মাল্টি-দৃষ্টান্ত প্রোগ্রামিং ভাষা [...] যে কার্যকরী প্রোগ্রামিং সেইসাথে অনুজ্ঞাসূচক অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং নিয়মানুবর্তিতা বোঝায় হল"
ব্রায়ান Onn

2

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


0

ওয়েল, আমি এটা কার্যকরী প্রোগ্রামিং এর না বলতে হবে, কিন্তু তারপর আমি চাই এটা অবজেক্ট ওরিয়েন্টেড এবং মাত্র আজ কে বন্ধু বলেন পারেন যে বালুচর এটা করা যাবে না বলে।

সুতরাং, যদিও আমি এটি এটি না বলব, আমি অনুমান করি যে মতামত আছে room এটিতে কার্যক্ষম প্রোগ্রামিংয়ের শাস্ত্রীয় বৈশিষ্ট্য রয়েছে, এর অন্য নেই।


2
জাভাস্ক্রিপ্ট অবজেক্ট ওরিয়েন্টেড। ওও ক্লাসের প্রয়োজন হয় না, তবে এটির জন্য বস্তুর প্রয়োজন হয় না।
ছদ্মবেশে

3
জাভাস্ক্রিপ্ট বস্তু ভিত্তিক নয়, এটি প্রোটোটাইপ ভিত্তিক।
ক্রিস

1
জাভাস্ক্রিপ্ট স্যুপ প্রোগ্রামিং হয়। এই একটি বিট এবং এটি একটি বিট।
অ্যান্ড্রু এস

0

জাভাস্ক্রিপ্ট একটি বিষয়। এটি কীভাবে আপনি এটি প্রোগ্রামিংয়ের বিষয়ে যান তার উপর নির্ভর করে। আমি যদি ওও পদ্ধতিতে কোড করি তবে এটি ওও হবে না? সুতরাং আপনি যদি কেবল জিনিসগুলিকে একটি 'কার্যকরী' পদ্ধতিতে কোড করেন তবে এটি কার্যকরী হবে। আমি অনুমান করি যে এটি বহু-দৃষ্টান্তের ভাষা তাই একে কেবল একটি জিনিস বলা পুরোপুরি সঠিক নয়।


0

@petraszd অপারেটরের জন্য "নতুন" পেতে আমি আপনার কোডটি আবার লিখি :

   
   function ffor(a, b, f){
     function it(i){
       if(i > b)return
       f(i)
       it(i+1)
     }
     it(a)
   }

   print("----" + new Date()+"----")

   var funcs = []
   ffor(0, 9, function(i){
     funcs.push(function(){return i})
   })

   ffor(0, 9, function(i){
     print(funcs[i]())
   })

তবে আমি জানি যে এই পথে বড় লুপগুলির অসুবিধা রয়েছে ...

জেএসে লেজ পুনরাবৃত্তি অপ্টিমাইজেশন সম্পর্কিত সম্পর্কিত প্রশ্ন

PS পোস্ট করা হয়েছে এখানে মন্তব্য হিসাবে পোস্ট করার সময় কোড ফরম্যাটেটিংয়ের সাথে সমস্যা আছে


0

জাভাস্ক্রিপ্টে আপনি এরকম কিছু করতে পারেন !!

// Data
var fruits = [
    { name: 'apple',  price: 5 }, 
    { name: 'orange', price: 10 }, 
    { name: 'lemon',  price: 15 }
]

// Request Data from magicURL
request('magicURL')
    .then(selectKeyOf('price'))
    .then(priceMethod('sum'))
    .then((result)=>{
        console.log(result) // 30
    })

এই ধারণাটি ডেমো করার জন্য আমি একটি গিথব পৃষ্ঠা তৈরি করেছি এবং আপনি আমার বাস্তবায়ন ক্লোন করতে / দেখতে পারেন


0

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


-2

জাভাস্ক্রিপ্টে আমি যা ঘৃণা করি তা হ'ল (আপনি যদি এফপি ভাষা হিসাবে দেখার চেষ্টা করেন) এটি হ'ল:

function getTenFunctionsBad() {
  var result = [];
  for (var i = 0; i < 10; ++i) {
    result.push(function () {
      return i;
    });
  }
  return result;
}

function getTenFunctions() {
  var result = [];
  for (var i = 0; i < 10; ++i) {
    result.push((function (i) {
      return function () {
        return i;
      }
    })(i));
  }
  return result;
}

var functionsBad = getTenFunctionsBad();
var functions = getTenFunctions()
for (var i = 0; i < 10; ++i) {
  // using rhino print
  print(functionsBad[i]() + ', ' + functions[i]());
}

// Output:
//   10, 0
//   10, 1
//   10, 2
//   10, 3
//   10, 4
//   10, 5
//   10, 6
//   10, 7
//   10, 8
//   10, 9

আপনার যেমন জেএস স্ট্যাক পরিবেশ বুঝতে হবে (আমি যদি এটি সঠিক শব্দ না হয় তবে) এমন আচরণটি বুঝতে হবে।

প্রকল্পের উদাহরণস্বরূপ আপনি কেবল এ জাতীয় জিনিস উত্পাদন করতে পারবেন না (ঠিক আছে, ঠিক আছে - অন্তর্নিহিত ভাষার উল্লেখগুলির সাহায্যে আপনি এটি তৈরি করতে পারেন):

(define (make-ten-functions)
  (define (iter i)
    (cond ((> i 9) '())
          (else (cons (lambda () i) (iter (+ i 1))))))
  (iter 0))

(for-each (lambda (f)
            (display (f))
            (newline)) (make-ten-functions))

1
এইচএম, আমি মনে করি জাভাস্ক্রিপ্টে ভেরিয়েবলের রেফারেন্স রয়েছে তবে মানটির রেফারেন্স ধরে নেই ।
অ্যারাকোড

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