Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   if return условие (https://javascript.ru/forum/misc/68590-if-return-uslovie.html)

SkyNetYar 25.04.2017 14:14

if return условие
 
Добрый день!
Помогите пожалуйста составить условие!
.then(function () {
						//console.log(this, arguments)
			            //console.log(t)
						var e,
						s,
						o,
						a,
						u;
					    
                        //return e= "in" === (s = t.direction) || "incoming" === s ? "Входящий" : (s === "out" || s === "outgoing" ? "Исходящий" : "Пропущенный"),
                        
						if (t.duration == "0"){
						return description="Пропущенный"
					        }
						
						return e = "" + ("in" === (s = t.direction) || "incoming" === s ? "Входящий" : "Исходящий") + "",
						t.external && (e += " " + t.external + " (" + t.entityPhone + ")"),
		                console.log(t, e, t.duration)
						e += "\n\nСоздан: " + (new Date).toString() + "\nПользователем: " + (null != (o = i.user) ? o.name : void 0), {
							title: (null != n ? n.name : void 0) || "Неизвестный номер (" + t.entityPhone + ") - " + ("in" === (a = t.direction) || "incoming" === a ? "входящий" : "исходящий"),
							address: (null != n ? n.address : void 0) || "",
							phone: t.entityPhone,
							source_id: r || "CALL",
							description: e,
							responsible_id: (null != (u = t.user) ? u.id : void 0) || i.default_leads_responsible_id || i.user.id
						}
					}


Вот мое условие но оно возвращает undefined
if (t.duration == "0"){
						return description="Пропущенный"
					        }


Если пропущенный то прилетает t.duration=0 но в итоге значение принимает undefined

ksa 25.04.2017 15:08

Цитата:

Сообщение от SkyNetYar
return description="Пропущенный"

Ты понимаешь, что ты там написал?
Опиши на словах чего ты хотел получить той записью.

SkyNetYar 25.04.2017 15:15

description: e,
Это запись в лид в поле описание,туда мне надо записывать "Пропущенный" так же как записывается туда "входящий" и "исходящий"
if (t.duration == "0"){
alert( 'Привет' );
}

Срабатывает нормально, но в поле не пишет если я делаю даже так
if (t.duration == "0"){
return e="Пропущенный";
}

ksa 25.04.2017 16:14

SkyNetYar, ты мой вопрос понял?

Цитата:

Сообщение от SkyNetYar
e="Пропущенный"

Это не условие... :no:
Это присвоение строкового значения некой переменной.

Вот это условие
e=="Пропущенный"
// или это
e==="Пропущенный"

SkyNetYar 25.04.2017 17:15

Мм,а не поможете правильно составить? Мало опыта ,а надо =(

ksa 26.04.2017 08:27

Цитата:

Сообщение от SkyNetYar
а не поможете правильно составить?

Что именно "составить"? :blink:
Я ведь не вкурсе что именно ты собрался делать.

SkyNetYar 26.04.2017 09:41

Нужно в e= записывать "пропущенный" но там есть и другие значения, я так подозреваю что нужно присвоить новой переменной это значение при срабатывании условия и затем эту новую переменную вставлять в e=

ну как то так
if (t.duration == "0"){
 return G="Пропущенный"
}


return e = "" + ("in" === (s = t.direction) || "incoming" === s ? "Входящий" : "Исходящий") + "",
- ЭТО надо как то проигнорировать при срабатывании условия.

t.external && (e += " " G + t.external + " (" + t.entityPhone + ")"),
- А тут вставить эту новую (G) переменную со значением в условии.

Помогите пожалуйста! :help:

ksa 26.04.2017 13:55

Ничего не понял... :no:

SkyNetYar 26.04.2017 14:00

1.Создать переменную и записывать в нее при срабатывании условия определенное значение.
2.Вставить это значение в другую переменную.(при срабатывании условия)

ksa 26.04.2017 14:03

Цитата:

Сообщение от SkyNetYar
1.Создать переменную и записывать в нее при срабатывании условия определенное значение.

var test;
if (<условие>) {
   test='определенное значение';
};

ksa 26.04.2017 14:03

Цитата:

Сообщение от SkyNetYar
Вставить это значение

Что значит "вставить значение"? :blink:

SkyNetYar 26.04.2017 14:35

Делаю так.
var g;
if (t.duration == "0") {
g="Пропущенный";
alert(g);
};


Получилось =)

SkyNetYar 26.04.2017 14:47

Далее у меня идет вот это...
return e = "" + ("in" === (s = t.direction) || "incoming" === s ? "Входящий" : "Исходящий") + "",
t.external && (e += " " + t.external + " (" + t.entityPhone + ")"),


e= это текст значений которые записывает их в поле на вебформе.
Как если условие сработало исключить вот это
return e = "" + ("in" === (s = t.direction) || "incoming" === s ? "Входящий" : "Исходящий") + "",


А продолжить и включить мою переменную в
t.external && (e += " " + t.external + " (" + t.entityPhone + ")"),


после e +=

ksa 26.04.2017 15:39

Цитата:

Сообщение от SkyNetYar
return e = "" + ("in" === (s = t.direction) || "incoming" === s ? "Входящий" : "Исходящий") + "",

Это просто белиберда...

Не стоит писать код в нидзя-стайл.
Каждая строка кода должна быть максимально простой и от того всем понятной.

Совать присвоения в некие условия считаю вообще неприемлемым делом.

Условия должны быть условиями, причем так же простыми и не длинными, а действия - действиями.

ksa 26.04.2017 15:41

Цитата:

Сообщение от SkyNetYar
t.external && (e += " " + t.external + " (" + t.entityPhone + ")")

От таких, с позволения сказать, "условий" нужно избавляться.

SkyNetYar 26.04.2017 15:47

Ну это не условие вроде бы как а вставка переменных..
Я лишь пытаюсь доработать уж имеющиеся ..

Вот вся конструкция, получилось что я вставляю свою переменную g туда куда нужно и она пишется..

var g;
if (t.duration == "0") {
g="Пропущенный";
return e = "" + ("in" === (s = t.direction) || "incoming" === s ? "Входящий" : "Исходящий") + "",
t.external && (e += ""+ g + " " + t.external + " (" + t.entityPhone + ")"),

Но как исключить при срабатывании условия вот это
return e = "" + ("in" === (s = t.direction) || "incoming" === s ? "Входящий" : "Исходящий") + "",


Подозреваю что как то else (t.duration <== "0")

ksa 26.04.2017 15:59

Цитата:

Сообщение от SkyNetYar
Но как исключить при срабатывании условия вот это

Напиши нормально условия и действия - ответ появится сам собой.

Цитата:

Сообщение от SkyNetYar
Я лишь пытаюсь доработать уж имеющиеся ..

Избавься от этого индус-кода.

SkyNetYar 26.04.2017 16:06

Я согласен что код странный и не понятный, весь в сокращениях..
Но перелопатить то что уже написано вообще жесть..
Надо справляться с уже имеющимся...

SkyNetYar 26.04.2017 16:23

Если я делаю так
var g;
if (t.duration == "0") {
g="Пропущенный";
console.log(g)
return e = t.external && (e += ""+ g + " " + t.external + " (" + t.entityPhone + ")")}
else {
return e = "" + ("in" === (s = t.direction) || "incoming" === s ? "Входящий" : "Исходящий") + "",
t.external && (e += "" + t.external + " (" + t.entityPhone + ")"),


То у меня если срабатывает исключение то тогда не продолжает выполнять код дальше...

SkyNetYar 26.04.2017 16:46

Все,сковырял наконец то :yes:
Спасибо за помощь!
Плюсанул.

ksa 26.04.2017 16:49

Цитата:

Сообщение от SkyNetYar
сковырял наконец то

Уже молодец.


Часовой пояс GMT +3, время: 03:22.