2013-09-23 2 views
-1
function Something(s, e) 

В чем разница между s и e?В чем разница между «s» и «e» в Javascript

В частности,

function Validation(s, e) { 
if (e.value == null) 
e.isValid = false; 
var name = String(e.value); 
if (name.trim() == "" || name == undefined) 
e.isValid = false; 
} 

Если я использую «s» вместо «е» в выше яваскрипта кода, он не работает.

Когда мы используем s? Когда мы используем e?

+0

это просто аргументы. –

+0

, пожалуйста, напишите все соответствующие коды – Cherniv

+1

Используйте 's', если вы хотите значение' s' и 'e', если хотите значение' e'. Если вам нужно знать что-то более конкретное, предоставьте больше кода и более конкретный вопрос. –

ответ

1

Эти параметры являются просто псевдонимами предопределенной подписи. Похоже, что некоторые из ваших вопросов связаны с продуктами DevExpress ASP.NET. Если это так, то вам лучше обратиться к документации Client-Side Events в отношении этого:

  • сек параметр представляет собой объект клиента, который вызывает событие. Параметр «s» (отправитель) инкапсулирует все доступные клиентские функции (для класса ASPxGridView - это класс ASPxClientGridView)
  • Параметр e представляет аргумент события, который обычно содержит информацию о событиях.
1

Это все о вызове функции.

Это означает, что если вы вызываете функцию проверки, например Validation("1","2"); , то внутри функции s = 1 и e = 2. Он просто принимает эти аргументы в качестве своего порядка.

Я думаю, что их типы различны, поэтому вы получаете сообщение об ошибке.

Если у вас все еще есть проблемы с этим, просто введите свою почту в качестве комментария к этому ответу и позвольте мне объяснить вам на турецком языке.

0

Я не 100% уверен, что этот код должен делать, но я могу указать на несколько вещей:

  1. Я не знаю, как вы могли бы назвать эту функцию с e, но без s. , , параметры определяются их размещением в определении функции, поэтому в этом случае, поскольку он определяется как function Validation(s, e), если вы вставляете только один параметр, функция будет считать его s. Технически вы можете вызвать функцию следующим образом: Validation(undefined, e), но даже тогда вы все еще являетесь «определяющим» s как undefined.
  2. ЕСЛИ вы говорите, что это не работает, когда вы поставляете s, но не e, это потому, что выходя из e при вызове функции, сделает значение не определено. Как только вы попробуете e.value, JS выкинет ошибку «TypeError: e undefined».
  3. s не используется в функции, поэтому о нем ничего не известно, кроме того, что это параметр функции, но вы можете вывести из функции, что e - это объект с , по крайней мере, к свойствам: value и isValid. Кроме того, вы можете предположить, что isValid предназначен для хранения логического значения, учитывая, что в коде ему присвоены значения false, но поскольку единственное использование value является параметром конструктора String (который может принимать TON разных типы значений в качестве параметра), нет реального способа узнать, какой тип данных он предназначен для хранения.

Это все, что я могу предложить на данный момент.

0

Имена параметров произвольны. Если вы переключаете все вхождения s и e в функции, он все равно будет работать как задумано:

function Validation(e, s) { 
if (s.value == null) 
s.isValid = false; 
var name = String(s.value); 
if (name.trim() == "" || name == undefined) 
s.isValid = false; 
} 

Вы также можете рассмотреть возможность использования более длинных имен, как inputData вместо отдельных букв для того, чтобы сделать его более ясным, что ваши параметры для.

Помните: это не имя переменной, которая заставляет ее работать особым образом. Это программист, который должен дать переменной имя, которое объясняет, как это работает.

Это говорит о том, что я предлагаю вам взглянуть на некоторые основы Javascript. Эти ссылки могут помочь вам:

Более продвинутое обсуждения имен переменных можно найти здесь: What characters are valid for JavaScript variable names?.

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