2016-05-14 3 views
-3

может кто-нибудь объяснить, что делает этот код и как он работает?Что делает эта функция? Как это работает?

function(a) { 
    return !n.isString(a) ? a : a.replace(/\\/g,"\\\\") 
} 
V(a) { 
    return !n.isString(a) ? a : a.replace(/%/g,"%25") 
} 

Что делает !n после return означает? Что делают эти две функции?

+0

Это означает, что, если 'n' является' 'false' – DININDU

+0

функции (а) {...}' это анонимная функции, если в этом контексте ваш код недействителен –

ответ

1

Первая часть в основном означает, что «если не является строкой, то возвращается, в противном случае замените все \ с \\.

Вторая часть составляет примерно то же самое, но с % и %25.

!n.isString по-видимому, «не n.isString» или «не является строкой» чтобы лучше это понять, вы можете думать о нем, как это:. !(n.isString), где n является объект/класс, который реализует метод isString

.

Оператор a ? b : c называется тройным оператором и в основном такой же, как

if (a) { 
    return b 
} else { 
    return c 
} 
+0

! n.isString (a) Я знаю, что isString (a) возвращает true, если a является строкой и false в противном случае , но the! n и. между ними я не получаю это –

+0

@SeifEddineSlimen, что теперь? – Dodekeract

+0

Очень ясно, что я думаю об этом. Спасибо! –

Смежные вопросы