online 1
gast (50)

/ Forum / Skripte(PHP,ASP,Perl...)

Skripte(PHP,ASP,Perl...)Skripte(PHP,ASP,Perl...)

Fragevon kaligula vom 24.06.2020, 21:56 Options

Lösung

fragen zu verschiedenem code

halo mal wieder, ich habe ein paar fragen :

EE)

a)"typeof ist ein unärer Operator,"

was ist unärer ? anderes wort vielleicht dazu?

b)"Der Wert eines Zuweisungsausdrucks ist der Wert des rechten Operanden. Als Seiteneffekt weist der Operator = den Wert auf der..."

was bedeutet zuweisungsausdruck und seiteneffekt ?

c) was heisst : "32-Bit-Integer-Darstellung" und was heisst bits und wo sind die bits :"Vier dieser Operatoren führen auf den
einzelnen Bits der Operanden Boolesche Algebra aus, wobei sie sich so verhalten, als sei

d) was bedeutet : obj = new konstruktoren(); ??

e)was sind "in den sprachkern integrierte eigenschaften" , "clientseitige eigenschaften" und "benutzerdefinierte variablen" ??

f) x = 1;
delete x;

warum kann man diese variable nicht löschen ?
soweit ich weiss , kann man variablen nur die mit var deklariert sind nicht mit delete löschen !!


Antwort schreiben

Antwort 1 von TByte vom 24.06.2020, 22:13 Options

a) keine ahnung
b)Das heißt, dass wenn du 2 Variablen hast und zuweist, die linke variable den wert der rechten bekommt, und nicht umgekehrt Bsp:
x=5
y=6
y=x
Das würde dau führen, dass y jetzt 5 ist.
x=5
y=6
x=y
Hier wäre x 6
c)"als sei" was? unvollendeter Satz! aber ich glaube das soll heißen, dass es 4 (bitweise-)operatoren gibt und die was mit den Operanden machen. Also auf normalsprache: Du machst was auf 010101-Ebene mit deinen Variablen.Bsp:
x << 3
Jetzt werden die nullen und einsen von x um drei stellen nach links verschoben. Wenn x 000111000 war, dann ist er jetzt 111000000.
d)Das ist eine Variable namens obj, der den Wert eines Konstruktors erhällt, und wird wahrscheinlich zum Objekt.
e)clientseitige Eigenschaften sind die Eigenschaften des Clienten. Wenn z.B. der client FF ist, dann sind die Eigenschaften die vom FF.
f)In C++ musst du erst einen Zeiger definieren und dann den löschen!
mfg
TByte

PS.:Wo hastn das her?

Antwort 2 von TByte vom 24.06.2020, 22:16 Options

tschuldigung:
benutzerdefinierte Vriablen sind Variablen die du definiert hast. Es gibt auch vordefinierte, wie in C++ z.B. endl (wobei das hier wiederum eine Konstante ist)
mfg
TByte

Antwort 3 von son_quatsch vom 25.06.2020, 11:24 OptionsLösung

Lösung
(bezüglich der ersten Frage denke ich, du redest von JavaScript)

a) Es gibt drei Arten: unär, binär und ternär.
- Unär (ein Bezug) wären typeof oder !, da nur nach diesem Operator auf etwas Bezug genommen wird.
- Binär (zwei Bezüge) wären || oder &&, da hier sowohl vor als auch nach dem Operator auf etwas Bezug genommen wird.
- Ternär (drei Bezüge) wäre ?:, da hier auf etwas vor dem ?, auf etwas nach dem ? und gleichzeitig vor dem : und nach dem : Bezug genommen wird.

b) Zuweisung ist z.B. x= 3 oder x= y; ein Ausdruck kann fast alles sein, z.B. die 3 oder 3+ 4.
Zuweisungsausdruck ist die Umschreibung dafür, dass x= 3 sowohl eine Zuweisung ist, als auch gleichzeitig wieder ein Ausdruck. Und der Ausdruckswert ist der des rechten (=letzten) Operanden, also 3.
Hier lauert eine der größten Programmierfallen: viele wollen mit (x= 3) eigentlich vergleichen, ob x der 3 entspricht (obwohl es x== 3 sein müsste). Tatsächlich machen sie eine Zuweisung, die aber trotzdem als Ausdruck gilt und daher vom Compiler oder Interpreter auch nicht als Fehler gewertet wird.

c) Ein Integer ist von Plattform zu Plattform unterschiedlich und kann 8, 16, 32 oder gar 64 Bit groß sein. 8 Bit = 1 Byte. Mit 8 Bit können 256 verschiedene Zustände dargestellt werden, da ein Bit zwei Zustände darstellen kann (ein und aus, bzw. 0 und 1). Acht mal solche Zustände nebeneinander und es gibt 256 verschiedene Kombinationen davon. Bei 32 Bit (= 4 Byte) wären das 256^4 verschiedene Zustände, also 4,2 Milliarden.
Wo die Bits sind, hängt ebenfalls von der Plattform ab - entweder ist das erste aller Bits das kleinste, oder aber das größte.
In Bezug auf Boolesche Algebra bedeutet das, dass 14 (in Bits 00001110) und 7 (in Bits 00000111) die Zahl 6 ergeben (in Bits 00000110).
Boolesche Algebra:
- 1 und 1 = 1 --- 1 oder 1 = 1 --- 1 xor 1 = 0
- 1 und 0 = 0 --- 1 oder 0 = 1 --- 1 xor 0 = 1
- 0 und 1 = 0 --- 0 oder 1 = 1 --- 0 xor 1 = 1
- 0 und 0 = 0 --- 0 oder 0 = 0 --- 0 xor 0 = 0

d) Objekte sind komplexe Datentypen, basierend auf Klassen. Um ein Objekt zu erzeugen, muss deren Konstruktor (wie Initialisierer) aufgerufen werden, was mit dem Schlüsselwort new bewerkstelligt wird. Ein Konstruktur ist wie eine Funktion und muss daher mit Klammern angegeben werden.

e) Eigenschaften können nur Objekte haben. Unter JavaScript sind Zeichenketten aber auch schon Objekte. Wenn du var s= "hallo"; machst (also eine Deklaration einer Variablen mit gleichzeitiger Zuweisung), ist s eine Zeichenkette und dank integrierter Eigenschaften vom Sprachkern kannst du mit s.length die Länge der Zeichenkette ermitteln.
Clientseitige Eigenschaften ist schwammig, damit sollen womöglich Browser(fenster)eigenschaften gemeint sein.
Benutzerdefinierte Variablen sind alle von dir deklarierten, wie mit dem s.

f) Unter JavaScript gibt es keine Löschmöglichkeit von Variablen oder Objekten; u.u. funktioniert eine Zuweisung von null. Letztendlich macht sich aber der Interpreter für dich Gedanken dazu.

Antwort 4 von kaligula vom 25.06.2020, 15:39 Options

zu c) wie kommt man darauf ,dass z.b. 14 in Bits 00001110 ist ?

zu d)eigentlich sollte es heissen : obj = new konstruktoren();
was heisst das ?

zu f) in meinem buch steht : "Einige in den Sprachkern integrierte Eigenschaften
und auch clientseitige Eigenschaften sind gegen das Löschen immun, und benutzerdefinierte
Variablen, die mit der var-Anweisung deklariert wurden, können nicht
gelöscht werden."

du hast irgendwie nicht ganz recht, das varaiblen nicht gelöscht werden können ?

meine frage war , warum kann man diese art variable , die ich oben geschrieben habe nicht löschen ?
verstehe ich irgendwie nicht ?

g) integrierte eigenschaften vom sprachkern ist nicht nur length. welche gibts noch ?

Antwort 5 von kaligula vom 25.06.2020, 15:55 Options

... h) was heisst : delete.write(mein.entlassungsdatum);

Antwort 6 von kaligula vom 26.06.2020, 14:08 Options

könnte mir jemand antworten ?

danke

Antwort 7 von katy vom 26.06.2020, 15:49 Options

Hallo karim/kaligula,

du kommst mit
Zitat:
halo mal wieder, ich habe ein paar fragen :
und schmeisst wieder mal mit Codebrocken und Zitaten um dich, ohne die Quelle zu nennen. Nicht einmal das Thema und den Kontext nennst du!
Hilfe ist so gar nicht möglich.

katy

Antwort 8 von kaligula vom 27.06.2020, 14:48 Options

ahso, das buch ist von david flanagan und heisst "javascript ,das umfassende referenzwerk" 3.auflage 2007 .

ok ?

Antwort 9 von katy vom 28.06.2020, 15:59 Options

Hallo,

00001110 bedeutet (von hinten gelesen)
0*2^0+1*2^1+1*2^2+1*2^3+0*2^4+0*2^5+0*2^6+0*2^7
=0+2+4+8+0+0+0+0=14

alles weitere entnimmst du bitte dem entsprechenden Wikipedia-Artikel: Binärzahlen

der Konstruktor besagt: obj ist ein neues Objekt der Klasse Konstruktoren, hat also alle Eigenschaften, die in dessen Prototype festgelegt sind.
Ganz ehrlich: ich habe deinen letzten Thread zu Cookies hier mitverfolgt und bin mir daher sicher, dass dein Grundlagenwissen hier Defizite hat.

Integrierte Eigenschaften sind alle auf die du browserunabhängig immer zugreifen kannst ohne sie selbst zu definieren. Also alles was in deinem Buch (das ich übrigens nicht kenne) direkt als Eigenschaften in der Objektreferenz steht.

Antwort 10 von kaligula vom 28.06.2020, 18:30 Options

noch mal auf das mit obj ...

hier wird das nich gezeigt , so wie ich das reingestellt habe !


nach obj kommt noch die array-klammer mit einem i drinn, und nach konstruktoren kommt wieder die array-klammer mit einem i drinn, danach kommt erst die geschweifte klammer ,

alles klar ?

Antwort 11 von katy vom 29.06.2020, 08:39 Options

nein!
zitiere bitte komplett und ersetze die [ i ] durch [j]

Antwort 12 von kaligula vom 01.07.2020, 22:41 Options

so ist es richtig:

obj[ i ] = new konstruktoren[ i ]();

Antwort 13 von katy vom 02.07.2020, 06:43 Options

angesichts dieser Infobröckchen deinerseits kann ich dir nur ebenso antworten: new

Antwort 14 von kaligula vom 26.07.2020, 15:10 Options

1) a[a[i]] = a[0]

hier ist ein array in einem anderem array , wie kann man das so schreiben a[a[i]] , die zwei arrays haben doch den gleichen namen ?

2)a) was bedeutet das "tabelle[zeile][spalte]" genau, ich weiss ein mehrdimensionales array, aber ich versteh das irgendwie nicht ganz:
b) und wie sieht es aus bei einem dreidimensionalem array usw., geht dann auch : "tabelle[zeile][spalte][ x ]" ?
c)kannst du mir kurz nur den anfang erklären und zeigen was da passiert, in den letzten zwei for-schleifen ?
d) dieser befehl tabelle = new Array(10); bewirkt, dass auch da zeilen entstehen, wie kommen dann da spalten hin , woher weiss der interpreter
innerlich ,dass das spalten sind, sind doch immer zeilen , wie kann ich mir das bildlich vorstellen ?
ein bsp:

// Ein mehrdimensionales Array erzeugen
var tabelle = new Array(10); // Die 10 Zeilen der Tabelle
for(var i = 0; i < tabelle.length; i++)
tabelle = new Array(10); // Jede Zeile hat 10 Spalten
// Das Array initialisieren
for(var zeile = 0; zeile < tabelle.length; zeile++) {
for(spalte = 0; spalte < tabelle[zeile].length; spalte++) {
tabelle[zeile][spalte] = zeile*spalte;
}
}
// Das mehrdimensionale Array verwenden, um 5*7 zu berechnen
var produkt = tabelle[5][7]; // 35

4)
Die Methode Array.join( ) wandelt alle Elemente des Arrays in Strings um und häaeängt
diese aneinander, wobei zwischen je zwei Elemente ein String gesetzt wird, der der
Methode als Parameter übergeben werden kann. Wenn kein solcher Trenn-String ange-
...
bsp:

var a = [1, 2, 3]; // Erzeuge ein neues Array mit diesen
// drei Elementen
var s = a.join( ); // s == "1,2,3"

was heisst "wobei zwischen je zwei Elemente ein String gesetzt wird," ??
ist das vielleicht , dass was in den klammern stehen kann z. join(", ) ?

5)
a.sort(function(a,b) { // Numerische Ordnung: 4, 33, 222, 1111
return a-b; // Gibt je nachdem < 0, 0 oder > 0 zurueück
});

a)muesste es nicht so heissen :

function sortieren(a,b){
return a-b;
}
a.sort(function sortieren (a,b);

b)
Um ein Array in einer anderen Reihenfolge als der alphabetischen zu sortieren, mueüssen
Sie sort( ) eine Vergleichsfunktion als Argument üuebergeben. Diese Funktion entscheidet,
welches ihrer beiden Argumente im sortierten Array zuerst erscheinen soll. Wenn das
erste Argument vor dem zweiten erscheinen soll, sollte die Vergleichsfunktion eine Zahl
zurueückgeben, die kleiner als null ist, und wenn das erste Argument im sortierten Array
hinter dem zweiten stehen soll, sollte sie eine Zahl zurueückgeben, die groessößer als null ist.
Wenn die beiden Werte äaequivalent sind (d.h., wenn ihre Reihenfolge irrelevant ist), sollte
die Vergleichsfunktion 0 zurueckgeben. Um also zum Beispiel Array-Elemente numerisch
statt alphabetisch zu sortieren, köoennten Sie folgendermaßsen vorgehen:
....

was heisst : "Wenn das erste Argument vor dem zweiten erscheinen soll, sollte die Vergleichsfunktion eine Zahl"...

wie ist das gemeint das "erste argument vor dem zweiten" . bei diesem beispiel

var a = [33, 4, 1111, 222];
a.sort( ); //

gibt es mehr als 2 argumente ich möchte doch nicht 2 argumente vertauschen sondern alle sortieren ?

PS: ich bin beim lernen von javascript, wenn man dann etwas nicht versteht , dann muss man halt fragen ?

Antwort 15 von kaligula vom 29.07.2020, 13:43 Options

hat denn jemand paar antworten ?

danke

Antwort 16 von godtakemenow vom 01.08.2020, 11:20 Options

Was erwartest du jetzt von uns?
Das wir dir JS beibringen?
Wozu hast du dir ein Buch gekauft um dann doch hier zu fragen?
Anscheinend ist dir das Buch zu kompliziert. Vielleicht solltest du mit Programmiergundlagen anfangen, bzw. dir ein einsteigerfreundliches Buch kaufen.

Wenn du dann während der Entwicklung deines Projektes Fragen zu JS hast, weil etwas nicht funktioniert, dann kannst du dich wieder melden.

Antwort 17 von kaligula vom 18.08.2020, 14:54 Options

hallo,

a = ["apfel","banane","kirsche","melone"]

ich möchte das obige array sortieren, so dass erst nach dem zweiten buchstaben alphabetisch sortiert wird, also sollte es nachher so aussehen : banane,melone,kirsche,apfel.

habe folgendes im browser eingegeben :

javascript : a = ["apfel","banane","kirsche","melone"] ; a.sort(function(a,b){if(a.substring(1,1)>b.substring(1,1) a-b else b-a}); alert(a)

aber er gibt mir einen fehler aus !!

Antwort 18 von katy vom 18.08.2020, 17:53 Options

Was soll a-b deiner Meinung nach sein? Wenn du deine beiden ersten Arrayelemente einsetzt ergibt sich folgende Subtraktion: "apfel"-"banane"

Und das ist einfach kompletter Unsinn und nicht nur ein Fehler!

Antwort 19 von kaligula vom 18.08.2020, 19:25 Options

einer hat mir gesagt , dass ich <>= auch auf zeichenketten einsetzen kann, oder habe ich da was falsch verstanden ?

was soll ich denn deiner meinung nach benutzen um das zu lösen ?

Antwort 20 von TByte vom 18.08.2020, 20:10 Options

Steig auf Perl um, da kannst du Pattern Matching anwenden und alles möglich mit Text machen; sei es ASCII, ANSI, Unicode, etc.
mfg
TByte

PS.:Schau doch mal hier nach

Ähnliche Themen

Zeichenkettenaddition bei VBA?
Den  16.02.2007 - 80 Hits - 5 Antworten

Eingabefelder Positionieren
Deathfun  09.04.2007 - 122 Hits - 9 Antworten

Javascript und CSS
Uesch  10.08.2007 - 56 Hits - 2 Antworten

Syntaxproblem
danielG  20.11.2007 - 77 Hits - 1 Antwort

Hinweis

Diese Frage ist schon etwas älter, Sie können daher nicht mehr auf sie antworten. Sollte Ihre Frage noch nicht gelöst sein, stellen Sie einfach eine neue Frage im Forum..

Neue Einträge

Version: supportware 1.9.150 / 10.06.2022, Startzeit:Mon Jan 26 01:23:17 2026