Jungs!Fangen mit JS Objects
Ich gebe meine ersten Schritte in JS und in OOP im Allgemeinen, und ich versuche, Code vielleicht zu stilized für mein Niveau zu bauen, aber ich möchte meine Sets und wird wie "object.a" und "object.a = value" und nenne sie nicht "getA" und "setA" und vor allem definitiv nicht wie eine Funktion ("object.a()" und "object.a (value)").
ich diese Seite entwerfen sie meine Art und Weise zu tun, aber es macht mich verrückt zu finden:
- Ich weiß nicht, warum „wa“ hält auf Inkrementieren es ist Wert, bis es klappt heraus mit der Meldung „zu viel Rekursion ".
- Ich sehe nicht, wie man für a und a ein "a" innerhalb von "coso" sehen kann.
Kann mir jemand helfen?
Hier ist mein Code:
<!doctype html>
<html>
<head>
<link href="/style.css" rel="stylesheet" type="text/css">
<meta charset="utf-8">
<style>
</style>
<script>
function coso() {
var a = 1024;
coso.prototype = {
get a() {return this.a},
set a(valor) {this.a = valor}
}
this.muestraA = function() {if(a === this.a) {alert("¡Yupi!")} else alert("A vale: " + a +", pero a vale: " + this.a)}
}
function GuardaA(valor) {
var obj = new coso();
obj.a = valor;
obj.muestraA();
return obj.a;
}
</script>
<title>Prueba Objeto</title>
</head>
<body>
<h1>Prueba Objeto</h1>
<form onchange="x.value=GuardaA(wa.value)">
<label for="wa">Valor para A</label>
<input type="number" id="wa">
<label for="x">A vale:</label>
<output id="x" for="wa"></output>
</form>
<footer></footer>
</body>
</html>
'var a' ist nicht dasselbe wie' this.a'. – Barmar
Sie erhalten unendliche Rekursion, weil 'this.a'' get a() 'aufruft, was versucht,' this.a' zu lesen, was 'get a()' aufruft, und so weiter. – Barmar