yorumlarınızla sağlanan bağlantıyı dayanarak, %
karakter JavaScript kaynağını ayrıştırılırken çalıştırılacaktır C++ çalışma zamanı için bir yöntem göstermek üzere V8 JavaScript engine kaynak kodunun bazı kullanılacak gibi görünüyor. Örneğin
, string.js satır:
çözümleyici karşılaştığı
return %StringBuilderConcat(parts, len + 1, "");
, StringBuilderConcat
yöntem çalıştırılacaktır. runtime.h'daki V8 JavaScript dosyalarında kullanılabilen çalışma zamanı yöntemlerinin bir listesini bulabilirsiniz (not, C++ ile hiçbir deneyimim yok, bu yüzden bu, string.js numaralı başvuruda belirtilen StringBuilderConcat
yöntemiyle hiçbir ilgisi olmadığını biliyorum, ancak Ben) aynı şeyi düşünüyorum:
zaten belirtildiği üzere
#define RUNTIME_FUNCTION_LIST_ALWAYS_1(F) \
/* Property access */ \
F(GetProperty, 2, 1) \
F(KeyedGetProperty, 2, 1) \
/* ... */
F(StringBuilderConcat, 3, 1) \
/* ... */
, return %foo
JavaScript SyntaxError atardı.
Eh, 'yüzde işareti javascript' için arama yapmayı deneyebilirsiniz. Bu, bir modül operatörünün olduğunu bilmenizi sağlayacaktır. – bezmax
'% foo'yu döndürüyor mu? Daha eksiksiz bir örneğiniz var mı? Bunun ne olabileceğini anlamıyorum. –
@dystroy http://stackoverflow.com/a/7299040/1365010 Örnek – user1365010