将范围限制为对象

时间:2018-08-08 05:20:23

标签: javascript

我正在试图强迫用户使用Setter()功能。 (用户在文本框中输入代码,然后我在eval()中运行它)这是我现在想出的。请检查此代码是否会阻止用户使用Test()函数进行调教。

<html>
<head>

<script>
var obj = function(){
   var bar = null;
   this.Setter = function(){
      bar = 1
   };
   this.Getter = function(){
      return bar;
   }
}

function context(){
}

function Test(){
   var o = new obj();
   var ctx = new context();

   var ret = function(str,Setter){
      eval(str);
   }.call(ctx,document.getElementById("Text1").value,o.Setter);

   var bar = o.Getter();

   if(bar == null) { alert("Failed!"); return; }

   alert("Congratulations!");
   return;
}

</script>
</head>
<body>

Code:<br>
<textarea id="Text1" cols="100" rows="25"></textarea>
<br>
<button onclick="Test();">Test</button>

</body>

</html>

0 个答案:

没有答案