私はOOPベースのJavaScriptを初めて使用します。テストの目的で、次のスニペットを作成しました。4つのボタンを作成しました。各ボタンをクリックすると、さまざまな機能が表示されます。いずれかのボタンを初めてクリックすると、予測された結果が得られます。いずれかのボタンを2回クリックすると、次のエラーが発生します。
classFunction = new classFunction();
私が使用したコードは次のとおりです。
<html>
<head>
<script type="text/javascript">
var classFunction;
function classFunction() {
this.publicVariable = 'Public Varibale';
var privateVariable = 'Private Variable';
this.publicMethod = function () {
alert('Public Method');
}
function privateMethod() {
alert('private Method');
}
return this;
}
function privateVariable() {
classFunction = new classFunction();
alert(classFunction.privateVariable);
}
function publicvariable() {
classFunction = new classFunction();
alert(classFunction.publicVariable);
}
function privateFunction() {
classFunction = new classFunction();
classFunction.privateMethod();
}
function publicFunction() {
classFunction = new classFunction();
classFunction.publicMethod();
}
</script>
</head>
<body>
<input type="button" value="Private Variable" onclick="privateVariable()" />
<input type="button" value="Public Variable" onclick="publicvariable()" />
<input type="button" value="Private Function" onclick="privateFunction()" />
<input type="button" value="Public Function" onclick="publicFunction()" />
</body>
</html>
新しいオペレーターが2度目に働かない理由はありますか?