对象函数原型中名称的区别是什么?

时间:2014-07-15 17:34:05

标签: javascript html

如果我在JavaScript中创建一个对象,然后添加一个带有prototype关键字的函数,为什么这两个名称可能不同?

我有一个名为getName的函数和另一个名为whatName的函数。我无法在没有错误的情况下致电whatName。命名函数和匿名函数有什么区别?

这是更优选的方法吗?

代码:

Person.prototype.getName = function whatName() {
    return this.name;
};

代码:

<script>
var Person = function Person(n,f,m,l) {
    this.name = n;
    this.lname = l;
    this.fname = f;
    this.mname = m;
    this.callMeth1 = function jjj() {
    }
    this.callMeth2 = function () {
    }
    this.callMeth3 = function () {
    }
};

Person.prototype.getName = function () {
    return this.name;
};

var test = new Person("Doug");

Person.prototype.sayMyName = function() {
    alert('Hello, my name is ' + this.getName());
};

test.sayMyName();
</script>

代码:

function callMyMeth4 (a,b) {
    var aaa = a;
    var bbb = b;
}

var Person = function Person(n,f,m,l) {
    this.name  = n;
    this.lname = l;
    this.fname = f;
    this.mname = m;
    this.callMeth1 = function () {
    }
    this.callMeth2 = function () {
    }
    this.callMeth3 = function () {
    }
    this.callMeth3 = callMyMeth4(a,b); 
};

1 个答案:

答案 0 :(得分:-1)

你这样做:

Person.prototype.getName = function () {
    return this.name;
};

如果您想使用现有功能,请执行以下操作:

Person.prototype.getName = whatName;

whatName是先前声明的函数的名称