MongoDB
 sql >> डेटाबेस >  >> NoSQL >> MongoDB

फ़ंक्शन-वाई स्वीकार करने वाले पैरामीटर-fct_x को कैसे लिखें जो var-a तक पहुंचता है जिसे फ़ंक्शन-वाई में परिभाषित करने की आवश्यकता होती है?

अगर मैं आपके प्रश्न को सही ढंग से समझ पाया, तो आप डायनामिक स्कोपिंग ढूंढ रहे हैं। . जावास्क्रिप्ट को शाब्दिक रूप से स्कोप किया गया है, इसलिए किसी वैरिएबल को कैप्चर करने के लिए, क्लोजर टेक्स्ट के रूप में इसके दायरे में होना चाहिए। अन्यथा, यह संभव नहीं है, उदाहरण के लिए, अधिक या कम मूर्खतापूर्ण चालों की गिनती नहीं करना:

function makeClosure(context) {
    return function() {
        return context("a") + 1;
    };
}

function y(evalThis) {
    var a = 2;

    if(evalThis)
        return eval(evalThis);

    return makeClosure(y);
}

closure = y();
document.write(closure()) // 3

यह भी देखें eva">क्या eval का सहारा लिए बिना जावास्क्रिप्ट में गतिशील स्कोपिंग प्राप्त करना संभव है? अधिक चर्चा और उदाहरणों के लिए।

विशेष रूप से आपके मोंगोडीबी प्रश्न के अनुसार, शुद्ध जावास्क्रिप्ट में कुछ फ़ंक्शन के दायरे में एक चर को इंजेक्ट करना संभव नहीं है (फिर से, eval का उपयोग किए बिना)। लेकिन मोंगो का नक्शा-कमी सी ++ में लिखा गया है, जेएस में नहीं, और मनमाने तरीके से दायरे में हेरफेर कर सकता है:

_scope->setFunction("emit", etc

देखें स्रोत

पूर्णता के लिए, यहां eval . के साथ एक उदाहरण दिया गया है :

function map(ary, fun) {

    // define some locals
    var LOCAL = 42;

    // re-evaluate the function within the scope
    eval("fun=" + fun);

    // now fun sees our locals
    return ary.map(fun);
}

document.write(
    map([1,2,3], function(x) { return x * LOCAL }) // [ 42, 84, 126 ]
)


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. एकाधिक फ़ील्ड जहाँ दस्तावेज़ में कुंजियाँ औसत एकत्रीकरण भिन्न होती हैं

  2. मैं मोंगोडब पर केस-असंवेदनशील प्रश्न कैसे बना सकता हूं?

  3. एक ही दस्तावेज़ के विभिन्न भागों पर काम कर रहे स्थितीय $?

  4. mongodb . में सप्ताह की संख्या से सप्ताह का पहला दिन प्राप्त करना

  5. mongo.conf संपादित करने के बाद MongoDB स्थिति विफल (कोड से बाहर, स्थिति =2)