5

类似:在经典 ASP / Javascript 中将对象插入全局范围


尝试开始在经典 ASP 中使用 javascript。不过,这似乎有些“陷阱”:有这方面经验的任何人都可以告诉我“Blah2”代码是怎么回事吗?似乎它“应该”工作,但我使用“这个”似乎有问题......

<script language="javascript" runat="server">

 var Blah = {};
 Blah.w = function(s){Response.write(s);}

 Blah.w('hello'); //this works...


 var Blah2 = function(){
     this.w = function(s){Response.write(s);} 
     //line above gives 'Object doesn't support this property or method'
     return this;
 }();

 Blah2.w('hello');

</script>

感谢您的任何指点

蒂姆

4

1 回答 1

3

你需要围绕你的函数的括号

var Blah2 = (function(){
    this.w = function(s){Response.write(s);} 
    //line above gives 'Object doesn't support this property or method'
    return this;
}());

另外,this.w没有做你想做的事。 this实际上是指向那里的全局对象。你要:

var Blah2 = (function(){
    return {w : function(s){ Response.write(s); }};
}());

或者

bar Blah2 = new (function(){
   ...
于 2011-03-24T00:43:51.143 回答