क्रोम और नोड में, निम्न कोड एक त्रुटि फेंकता है:"बहुत से कॉल स्टैक आकार से अधिक" फेंकने वाले कई तर्कों के साथ लागू क्यों होता है?
function noop() {}
var a = new Array(1e6)
// Array[1000000]
noop.apply(null, a)
// Uncaught RangeError: Maximum call stack size exceeded
मुझे समझ में क्यों यह एक बुरा विचार एक समारोह के लिए 1 लाख तर्क पारित करने के लिए, लेकिन किसी को समझा सकता है हो सकता है क्यों त्रुटि Maximum call stack size exceeded
बजाय है कुछ और प्रासंगिक?
(मामले में यह तुच्छ लगता है, मूल मामले Math.max.apply(Math, lotsOfNumbers)
था, जो एक सरणी से अधिकतम संख्या प्राप्त करने की एक नहीं के अनुचित तरीका है।)
... क्योंकि कार्य तर्क स्टैक पर संग्रहीत हैं? – Bergi
खैर, हाँ, यह जानकारी का टुकड़ा है जो मैं याद कर रहा था :) – nrabinowitz