我在许多代码中看到了%
。你能告诉我它的目的或它的作用吗?
P.S:Google搜索会忽略%
,因此我无法在Google上找到它。
编辑:我知道数学13 % 10 = 3
中的操作数,但我看到的是return %foo
。
答案 0 :(得分:9)
根据您在注释中提供的链接,%
字符似乎在某些V8 JavaScript engine源代码中使用,以指示在解析时将执行的C ++运行时的方法JavaScript源码。
例如,string.js中的行:
return %StringBuilderConcat(parts, len + 1, "");
解析器遇到时,将执行StringBuilderConcat
方法。您可以在runtime.h中找到V8 JavaScript文件可用的运行时方法列表(注意,我没有使用C ++的经验,所以我知道这与引用的StringBuilderConcat
方法无关在 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
会在JavaScript中抛出一个SyntaxError。