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 に答える