簡體   English   中英

如何在我自己的 javascript 命名空間中的對象構造函數中使用 JQuery?

[英]How do I use JQuery inside an object constructor in my own javascript namespace?

我什至無法在任何地方找到這個問題的答案,所以也許我完全在錯誤的樹上吠叫......

我正在創建一個 javascript 命名空間,在其中放置一個構造函數:

var SEP=SEP||{};

SEP.person=function(name)
{
    this.name=name
    this.sayName=sayName

    function sayName()
    {
        return this.name;
        $(document).ready
        (
            function()
            {
                $('body').css('background', 'red');
            }
        );
    }
}

然后我從 HTML 調用函數...

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title>test</title>
<meta name="generator" content="BBEdit 10.5" />
</head>
<body>
<script src="libraries/jquery/javascript/jquery-1.11.0-min.js"></script>
<script src="libraries/sep/javascript/sep.js"></script>
<p>Hello</p>
<script>
    var bob=new SEP.person("bob");
    word=bob.sayName();
    document.write(word);
</script>
</body>
</html>

問題一是,為什么這不起作用? 問題二是我怎樣才能使它工作? 問題三是,如果我想制作一個更復雜的構造函數,盡管使用 JQuery,我是否需要一遍又一遍地做文檔准備工作,還是有更好的方法?

提前謝謝了。

實際上你的構造函數工作正常。 但是你不應該在你的代碼中使用document.write 相反,您可以使用.append() .html().text()方法將值附加到 html 標記。 你的sayName()方法也應該有一個小的變化,Css 應該在return之前應用。 否則它不會碰到那些代碼行。

var SEP = SEP || {};

SEP.person = function (name) {
    this.name = name
    this.sayName = sayName

    function sayName() {
        $('body').css('background', 'red');
        return this.name;
    }
}

var bob = new SEP.person("bob");
word = bob.sayName();
$("span").text(word);

演示

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM