0
みんな!JSオブジェクトをキャッチする
私はJSとOOPで一般的に私の最初のステップを与えていますが、私のレベルではあまりにも多くのコードを作成しようとしていますが、私は自分のセットが好きで、 "object.a" "object.a = value"と呼び、それらを "getA"や "setA"と呼ぶことはなく、とりわけ関数( "object.a()"や "object.a(value)"とはまったく異なっています)。
私はやって自分の道を見つけるために、このページをデザインするが、それは狂気私を運転している:
- 「WA」はインクリメントを続け、なぜ私は知らない、それはあまりにも「メッセージでフリップアウトまでそれが価値です多くの再帰 "。
- 私はaを取得し、 "coso"の内側に "a"を見るように設定する方法は見当たりません。
誰かが私を助けることができますか? get a()
機能がthis.a
を読み取ろうとするので、あなたは無限再帰を取得している
<!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'は' this.a'と同じものではありません。 – Barmar
'this.a'は' get a() 'を呼び出し、' this.a'を読み込み、 'get a()'を呼び出すなど、無限の再帰を得ています。 – Barmar