(function(){
var w = window.open('about:blank');
var res = [];
for( var i in window ){
if( typeof w[i] === 'undefined' ){
res.push(i);
}
}
w.close();
return res;
})().join('\n');
środa, 6 lutego 2013
Global scope
Przydatne do sprawdzania co jest w przeglądarce. Co zostało dodane przez skrypty a nie jest natywnym elementem JavaScript`u czy DOM.
środa, 23 stycznia 2013
odpowiednik htmlspecialchars w js
Odpowiednik funkcji htmlspecialchars znanej z PHP.
var htmlspecialchars = function(html){
return [
[/&/g, '&'],
[/</g, '<'],
[/>/g, '>'],
[/"/g, '"'],
[/'/g, ''']
].reduce(function(h, r){
return h.replace(r[0], r[1]);
}, html);
};
Funkcja przydatna np. do umieszczania kodu na tym blogu. Przykład użycia:
prompt('skopiuj kod HTML', htmlspecialchars(prompt('podaj kod HTML')));
poniedziałek, 21 stycznia 2013
Binary - operacje na bitach
Funkcja upraszczająca operacje na bitach w JavaScript.
var Binary = function(val){
val = val || 0;
return {
value: function(v){
if( typeof v === 'undefined' )
return val;
val = v;
},
bit: function(n, v){
if( typeof v === 'undefined' )
return val & (1<<n) ? 1 : 0;
if( v ){
val |= 1<<n;
}else{
val &= ~(1<<n);
}
},
toString: function(){
return val.toString(2);
}
};
};
Warto pamiętać, że operacje bitowe w JavaScript są powolne, ponieważ JavaScript przechowuje wszystkie liczby (Number) jako double. W związku z tym każda operacja bitowa (przesunięcie bitowe, suma bitowa czy iloczyn bitowy) wymusza konwersję double na int.
// utworz nowa wartosc 5 var b = new Binary(5); // odczytaj drugi bit console.log(b.bit(2)); // ustaw pierwszy bit na 1 b.bit(1, true); // odczytaj wartosc liczbowa console.log(b.value());
Subskrybuj:
Posty (Atom)