JavaScript使用this调用与直接对象调用的区别
迷茫
迷茫 2017-04-10 15:43:24
0
1
232

初学javascript,写了如下一个测试例子:

(function () {
    var Test = function() {
        this.name = "test";

/*语句块1
        this.prints = function (test) {
            console.log("In prints:"+test.name);
        };
*/
        console.log("in Test:"+this.name);
        this.prints(this); //语句1
        Test.prints(this); //语句2
        return this;
    };

/*语句块2
    //Test.prints = function (test) {
    //    console.log("In prints:"+test.name);
    //};
*/

    this.Test = Test;
}).call(this);

HTML页面很简单:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title></title>
</head>
<body>

<script src="MyTest.js"></script>
<script>
    window.onload = function () {
        var test = new Test();
    }
</script>
</body>
</html>



使用语句1语句块1, 或者语句2语句块2时,能够正常调用prints函数:




但是使用语句1语句块2, 或者语句1语句块2时,则报错:




请问语句块1语句块2有什么区别吗?个人认为都是定义了对象的函数,二者应该没有什么不同才对。还请指教。

迷茫
迷茫

业精于勤,荒于嬉;行成于思,毁于随。

인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!