Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Wyjaśnienie skryptu - wartość lub {}
esp
post
Post #1





Grupa: Zarejestrowani
Postów: 11
Pomógł: 1
Dołączył: 18.09.2006
Skąd: Skarżysko

Ostrzeżenie: (0%)
-----


Witajcie.

Zacząłem ostatnio odświeżać wiadomości o JS i zatrzymałem się na problemie, którego rozkminić nie mogę i poszukiwania w google (może nieskuteczne) nie przyniosły wyjaśnienia.

Chodzi mianowicie o taki kod:


function repeat(options) {
options = options || {};
for (var opt in (repeat.defaultOptions || {})) {
if (!(opt in options)) {
options[opt] = repeat.defaultOptions[opt];
}
}
for (var index = 0; index < options.times; ++index) {
alert(options.rant);
}
}
repeat.defaultOptions = { times: 2, rant: 'IE6 must die!' };

rozumiem prawie całość oprócz 2 linijek:

options = options || {};

(repeat.defaultOptions || {})

moje pytanie jest o co chodzi z tym || {}?

Wydaje mi się, że trzeba to czytać "lub ..." ale nie wiem co dalej i jak to ugryźć.

Z góry dziękuje za pomoc
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
wookieb
post
Post #2





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




Nie. Najpierw decyduje czy iterować po pustym obiekcie czy też po repeat.defaultOptions;
Iteracja po pustym obiekcie = 0 wykonań kodu w bloku for (IMG:style_emoticons/default/smile.gif)

Zrób coś takiego
[JAVASCRIPT] pobierz, plaintext
  1. for (var opt in ({some:'data'} || {})) {
  2. console.log(opt); // mam nadzieje, że wiesz co to console.log
  3. }
  4.  
  5. // a potem to
  6. for (var opt in (undefined || {})) {
  7. console.log(opt);
  8. }
[JAVASCRIPT] pobierz, plaintext

i zobacz rezultaty.
Powód edycji: [wookieb]:
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 27.12.2025 - 18:23