Что такое процент ( % ) в JavaScript?


Я видел % во многих кодах. Можете ли вы объяснить мне его назначение или что он делает?

P. S: % игнорируется из поисков Google, поэтому я не смог найти его в Google.

Edit: я знаю операнд в математике 13 % 10 = 3, но то, что я видел, похоже на return %foo.

1 7

1 ответ:

Основываясь на ссылке, которую вы предоставили в комментариях, символ %, по-видимому, используется в некоторых исходных кодахV8 JavaScript engine , чтобы указать метод среды выполнения C++, который будет выполняться при разборе исходного кода JavaScript.

Например, строка в строке .js :

return %StringBuilderConcat(parts, len + 1, "");

При обнаружении синтаксическим анализатором, метод StringBuilderConcat будет выполнен. Вы можете найти список методов выполнения, доступных для файлов JavaScript V8 в runtime.h (заметьте, у меня нет опыта работы с C++, поэтому, насколько я знаю, это не имеет ничего общего с методом StringBuilderConcat, на который ссылается строка .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.