相关疑难解决方法(0)

在JavaScript中使用'prototype'与'this'?

有什么区别

var A = function () {
    this.x = function () {
        //do something
    };
};
Run Code Online (Sandbox Code Playgroud)

var A = function () { };
A.prototype.x = function () {
    //do something
};
Run Code Online (Sandbox Code Playgroud)

javascript prototype this

765
推荐指数
14
解决办法
11万
查看次数

向Javascript对象添加函数的不同方法

在Javascript中,这两种向对象添加函数的方法有什么区别吗?出于任何原因,一个人更好吗?

function ObjA() {
    this.AlertA = function() { alert("A"); };
}
ObjA.prototype.AlertB = function() { alert("B"); };

var A = new ObjA();
A.AlertA();
A.AlertB();
Run Code Online (Sandbox Code Playgroud)

javascript

12
推荐指数
1
解决办法
3万
查看次数

原型或内联,有什么区别?

我只是在学习Javascript,我很想知道,正在使用原型声明,如下所示:

function TSomeObj()
{
  this.name="my object";
}

TSomeObj.prototype.showname = function() {
  alert(this.name);
}
Run Code Online (Sandbox Code Playgroud)

基本上像这样做:

function TSomeObj()
{
  this.name="my object";
  this.showname = function() {
    alert(this.name);
  }
}
Run Code Online (Sandbox Code Playgroud)

当我转储对象的属性时,我得到相同的结果:

TSomeObj (inline version) =
{ 
    'name': 'my object',
    'test': function
}

TSomeObj (prototype declaration) =
{ 
    'name': 'my object',
    'test': function
}
Run Code Online (Sandbox Code Playgroud)

使用原型声明的好处是什么?除了更少的混乱和更有序的源代码或许.

更新:我或许应该使人们更清楚,这是最终的结果,我很好奇.最终结果是相同的(即在对象原型中都注册了一个新函数) - 但是他们这样做的方式却截然不同.感谢您的所有回复和信息!

javascript

9
推荐指数
2
解决办法
2212
查看次数

标签 统计

javascript ×3

prototype ×1

this ×1