3
if( !sky.containers ) sky.containers =
{
        Window : function()
        {
                this.element = document.createElement("div");
                this.element.modal = false; 
                this.element.height = 240;
                this.element.draggable = true;
                this.element.resizable = true;
                this.element.position = "center";
                this.element.width = 240;
                this.element.target = document.body;
                this.element.title ="";
                this.element.headerHeight = 30;;
                this.element.effects = {};
                this.element.show = function()





                return this.element;

        }}

このコンテキストでのキーワードTHISは何ですか?「sky.containers」または「Window」?そして、この名前に変数が定義されていない場合、ELEMENTとは何ですか?

4

1 に答える 1

4

Window() はコンストラクター関数です。つまり、次のような新しいオブジェクトを作成すると呼び出されます

var myWin = new Window();

関数内では、this作成されたばかりの新しいオブジェクトを参照します。(そして、上記の呼び出し例ではどれが に割り当てられmyWinます。)

「要素」については、新しく作成されたオブジェクトのプロパティです。次の行まで存在しません。

this.element = document.createElement("div");

これにより、新しい <div> 要素が作成され、その DOM 表現がプロパティに割り当てられます。

于 2012-04-26T17:55:23.517 に答える