将方法添加到js中函数内部的对象

时间:2017-10-06 08:00:52

标签: javascript function object constructor

嗨,这是我正在努力的挑战。有没有什么办法可以在不使用关键字this的情况下将引入方法添加到loadAvailableDates对象。非常感谢任何见解。

  

使用Object.create

     

挑战1/3

     

personStore内部对象中,创建一个属性greet,其值是一个记录“hello”的函数。

     

挑战2/3

     

创建一个函数personStore,将名称和年龄作为输入。 >调用时,该函数将使用personFromPersonStore对象上的Object.create方法创建人物对象。

     

挑战3/3

     

如果不编辑您已编写的代码,请在personStore对象中添加introduce方法,以记录“嗨,我的名字是[姓名]”。

     

旁边的好奇心

     

作为附注,好奇是否有办法将介绍方法添加到personFromPersonStore函数内的person对象。

我的解决方案:

personStore

2 个答案:

答案 0 :(得分:1)

你可以,但使用this要简单得多。

此代码将name属性作为参数传递,但由于introduce函数已经可以通过this将该属性作为内部属性访问,因此它有点浪费。< / p>

var personStore = {
    // add code here
  greet: function (){
    console.log('Hello');
  }
};

function personFromPersonStore(name, age) {
  var person = Object.create(personStore);
  person.name = name;
  person.age = age;
  person.greet = personStore.greet;
  return person;    
};

personStore.introduce = function (nm) {
  console.log('Hi, my name is ' + nm)
}

person1=personFromPersonStore('Fred',21);
person1.introduce(person1.name);

答案 1 :(得分:0)

你可以这样写:

@Model.PROPERTY

而不是这个。