टिप्पणियों में दिए गए लिंक के आधार पर, वर्ण V8 JavaScript engine स्रोत कोड में से कुछ में उपयोग किया जाता है ताकि सी ++ रनटाइम की विधि इंगित की जा सके जो जावास्क्रिप्ट स्रोत को पार्स करते समय निष्पादित किया जाएगा।
उदाहरण के लिए, string.js में लाइन:
return %StringBuilderConcat(parts, len + 1, "");
जब पार्सर द्वारा सामना करना पड़ा, StringBuilderConcat
विधि निष्पादित किया जाएगा। आप runtime.h में वी 8 जावास्क्रिप्ट फ़ाइलों के लिए उपलब्ध रनटाइम विधियों की एक सूची पा सकते हैं (ध्यान दें, मुझे सी ++ के साथ कोई अनुभव नहीं है, इसलिए मुझे पता है कि string.js में संदर्भित विधि के साथ इसका कोई लेना-देना नहीं है, लेकिन मुझे लगता है कि यह एक ही बात) है:
#define RUNTIME_FUNCTION_LIST_ALWAYS_1(F) \
/* Property access */ \
F(GetProperty, 2, 1) \
F(KeyedGetProperty, 2, 1) \
/* ... */
F(StringBuilderConcat, 3, 1) \
/* ... */
जैसा कि पहले ही कहा गया है, return %foo
जावास्क्रिप्ट में एक सिंटैक्स त्रुटि फेंक होगा।
स्रोत
2012-06-26 08:13:15
ठीक है, आप 'प्रतिशत साइन जावास्क्रिप्ट 'की खोज करने का प्रयास कर सकते हैं। इससे आपको यह पता चल जाएगा कि यह एक मॉड्यूलस ऑपरेटर है। – bezmax
'वापसी% foo'? क्या आपके पास एक और पूरा उदाहरण है? मैं नहीं देखता कि यह क्या हो सकता है। उदाहरण के लिए –
@dystroy http://stackoverflow.com/a/7299040/1365010 उदाहरण – user1365010