Это основной Javascript вопрос в основном я просто хотел, хотя эту функцию ниже:Кто заходит за параметрами?
function hexToRgb(hex){
// By Tim Down - http://stackoverflow.com/a/5624139/3493650
// Expand shorthand form (e.g. "03F") to full form (e.g. "0033FF")
var shorthandRegex = /^#?([a-f\d])([a-f\d])([a-f\d])$/i;
hex = hex.replace(shorthandRegex, function(m, r, g, b) {
return r + r + g + g + b + b;
});
var result = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(hex);
return result ? {
r: parseInt(result[1], 16),
g: parseInt(result[2], 16),
b: parseInt(result[3], 16)
} : null;
};
Как вы можете видеть, этот код уже взят из другого потока на SO, теперь мой вопрос конкретно о peice коды :
var shorthandRegex = /^#?([a-f\d])([a-f\d])([a-f\d])$/i;
hex = hex.replace(shorthandRegex, function(m, r, g, b) {
return r + r + g + g + b + b;
});
Параметры функции замены IE м, г, д, б, в основном, следующий, как я вижу в моих Девых инструментах:
m = "#fff",
r = f
g = f
b = f
Я вижу aboe в моих Девых инструментах, вариант я прошел это #fff.
Теперь у меня вопрос, кто передает туда параметры? имеет ли регулярное выражение какое-либо отношение к передаваемым параметрам? кто передает эти параметры? m, r, g, b? Я проверил, что делает регулярное выражение HERE, но я до сих пор не понимаю, кто передает параметры этой функции?
'.replace' проходят параметры, вы можете увидеть аргументы он проходит здесь https://developer.mozilla.org/en- US/docs/Web/JavaScript/Reference/Global_Objects/String/replace – elclanrs
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/replace#Specifying_a_function_as_a_parameter –
Первый аргумент весь матч. Позже арги являются каждой группой захвата. Эта функция такая же, как передача _String_ '" $ 1 $ 1 $ 2 $ 2 $ 3 $ 3 "' –