Archiwa tagu: javascript

Jak drukować sprytniej i oszczędniej i zaoszczędzić na papierze

Dziś prezentuję swój oszczędny sposób na drukowanie dużej ilości stron, jeżeli nie zależy nam na oryginalnym formacie wydruku. Przydatne np. podczas drukowania materiałów edukacyjnych na studia i nie mam tu na myśli ściąg, lecz raczej wykłady, e-booki (legalne;)) albo artykuły;)

Naturalnie, jeżeli mamy do czynienia ze zwykłym tekstem w „wordzie”, najlepszą opcją jest usunięcie marginesów i zmniejszenie czcionki, sprawa wygląda jednak gorzej, jeśli wydrukować trzeba PDF, rysunek lub inny format nieedytowalny i nieskalowalny.

Mój sposób obejmuje:

  • Ustawienie w sterowniku drukarki wydruku poziomego i takie ustawienie kolejności stron, aby po zszyciu wszystkich kartek zszywką, można było swobodnie czytać kartka po kartce, tak jak na schemacie:

schemat

  • Drukowanie kolejnych stron w odpowiedniej kolejności:
  • Pierwsza seria: 1,2,5,6,9,10,13,14,17,18,21,22,25,26,29,30,33,34,37,38,41,42,45,46,49,50
  • Odwrócenie kartek na drugą stronę
  • Wydruk drugiej serii: 3,4,7,8,11,12,15,16,19,20,23,24,27,28,31,32,35,36,39,40,43,44,47,48,51,52

Aby drukowało się łatwiej i przyjemniej, przygotowałam skrypt w JavaScript, gdzie po wpisaniu ilości stron, jakie chcemy drukować, można uzyskać numery stron do wydruku w kolejnych seriach – http://d9k.info/js/drukowanie.html

PS. Kod jest tragicznie napisany, ale czego spodziewać się, gdy się programuje przy piwku? Jedynie dobrej zabawy – nigdy jakości, hehe;)

Wartości logiczne w Ruby, JavaScript i ActionScript

Naukę języka programowania zaczynamy przeważnie od poznania podstawowych konstrukcji:  sposobu deklarowania zmiennych, pętli, instrukcji warunkowych. Wtedy często pojawia się pytanie, które wartości są w wyrażeniach logicznych traktowane jako true, a które jako false? O ile w językach typu Java/C# sprawa jest dość prosta, bo większość wartości nie konwertuje się do typów boolean, to w przypadku języków skryptowych każdy z nich rządzi się innymi prawami.

Poniżej przedstawiam porównanie kilku z nich: JavaScript, ActionScript, Ruby. Linearne przełożenie niektórych wartości nie jest w 100% możliwe, np. zmienne niezdefiniowane – w JavaScript istnieje słowo kluczowe  „undefinied”, natomiast w Ruby nie ma możliwości ustanowienia zmiennych niezdefiniowanych.

Argument JavaScript Ruby ActionScript
0 false true false
-1 true true true
5 true true true
„” false true false
„string” true true true
” „ true true true
null false false false
undefinied exception exception false
var x (uninitialized) false exception false
new Object (initialized) true true true
NaN false true false

Czytaj dalej

Tworzenie obiektów w JavaScript

Jako że JavaScript nie wymaga podawania typów zmiennych, tworzenie obiektów może odbyć się „w locie”. Np. tak:

var obiekt = {
 pole: 100,
 funkcja: function(){}
}

Tak samo tworzenie tablicy:


var tablica=['coś', 'coś2'];

Na koniec przypomnienie znaczenia operatorów:

=== równe wartości i typy
!== różne wartości lub typy
== równe wartości