Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Поясните пожалуйста синтаксис if (null==start_point) (https://javascript.ru/forum/misc/14727-poyasnite-pozhalujjsta-sintaksis-if-null%3D%3Dstart_point.html)

tomAlba 28.01.2011 11:19

Поясните пожалуйста синтаксис if (null==start_point)
 
switch (map_layer)
		{
			case 'map_canvas':
			{
				google.maps.event.addListener(map, 'click', function(event)
				{
					if ( null == start_point )
					{
						addFlag(map, event.latLng, "start");
					}
					else if ( null == finish_point )
					{
						addFlag(map, event.latLng, "finish");
					}
				});
				break;	
			}

			default: /* Event listener is not required */
		}[JS]
[/JS]

ksa 28.01.2011 11:24

tomAlba, что не понятно-то тебе?

Skipp 28.01.2011 11:25

if ( null == start_point ) если переменная start_point равна null то...

PeaceCoder 28.01.2011 11:47

И мне ничего не понятно, учитывая то что не понятно что за функция addFlag и какие входящие параметры

tomAlba 28.01.2011 11:57

Парни спасибо! Я very бегиннер в программировании. Проблема была в том, что я раньше не видел, что бы писали так:
if (null == some_var)
а только так
if (some_var == null).

Skipp 28.01.2011 12:05

Ну ты даешь

2 == 2 есть разница? Это же операция сравнения, блин

Kolyaj 28.01.2011 12:17

Цитата:

Сообщение от tomAlba
Я very бегиннер в программировании.

Т.е. если very бегиннер, то мозг можно отключить.

PeaceCoder 28.01.2011 12:26

Цитата:

Сообщение от tomAlba
if (null == some_var)
а только так
if (some_var == null)
.

Это хистрость программирования. Обычно часто допускается во втором варианте такое
if (some_var = null)

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

ksa 28.01.2011 13:03

Цитата:

Сообщение от Skipp
Это же операция сравнения

В некоторых языках есть не симметричные сравнения. Тот же Клиппер

If "abc"="abcde" Then
   // будет истина
EndIf


Но

If "abc"=="abcde" Then
   //
Else
   // будет ложь
EndIf


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