()
to operator grupujący, który zwraca wartość wyrażenia w środku. Tutaj w twoim przypadku jest to 1
, liczba pierwotna. Więc może być zapakowany do obiektu Number
i wywołać jego metodę toString
.
Jednak dla 1.toString()
, silnik JS nie może określić, co znaczy .
- operator kropki (w przypadku metod obiektowych) lub punkt liczby zmiennoprzecinkowej?
Aby rozwiązać ten błąd, bez operatora grupowania, masz dwa podejścia:
1 .toString()
// spacja, działa podobnie jak operator grupowania
1..toString()
// dwa punkty, w których drugi jest traktowano jako operator dot
Musimy powiedzieć, czy kropka oddziela część dziesiętną lub właściwości obiektu. –
1.toString() // to da błąd, ponieważ nie ma metody ściągania na pierwotnym typie danych Number/interger , ale gdy robisz (1) .toString(), to javascript wewnętrznie wpisuje corresion i konwertuje liczbę 1 na ciąg znaków "1", a następnie zastosuj na nim metodę toString. – atul
"1" .toString(); // "1". Twoje zrozumienie ma sens. Ale co jeśli
function(){}() // Unexpected token. and (function(){}()) // It's OK.
Dlaczego nie można bezpośrednio wywołać anonimowej funkcji? @ ÁlvaroGonzález – soarinblue