0
夥計們!用JS對象捕捉
我正在給我的第一步在JS和一般的OOP,我試圖構建代碼可能過於stilized我的水平,但我想我的集和得到像「object.a」和「object.a = value」,而不是稱它們爲「getA」和「setA」,並且最重要的是,它們確實不像函數(「object.a()」和「object.a(value)」)。
我設計這個頁面找到我做的方式,但它讓我發瘋了:
- 我不知道爲什麼「WA」關於增加保持它的價值,直到它翻轉出來消息「太多遞歸「。
- 我不明白該怎麼做,並設置一個「coso」裏面的「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()',它試圖讀取調用'get a()'的'this.a'等等,你會得到無限遞歸。 – Barmar