我可以在js中创建一个父对象

时间:2015-12-08 16:28:59

标签: javascript oop inheritance javascript-objects

我是OOJS的新手,我对尝试理解继承感​​到困惑,我创建了两个简单的类,即从人那里继承的人和学生,是否有通过在父母中传递数据来创建学生的选项&#39 ; s构造函数?如果有可能,该怎么办?一个孩子可以从父母那里获得所有的属性和方法,还是只从方法中获取?

**警报中的fname和lName未定义

function Person(fNme, lName) {
                this.fname = fNme;
               this.lName = lName;
               } 
               Object.prototype.go = function() {
                 alert("I am going now last time you see  "+ this.lName);

            }
            function Student() {
                this.study = function () {
                   alert("I am studing !");
                }
            }

            Student.prototype = new Person();
            var s1 = new Student("sam", "bubu");
            alert(s1.fname +"+"+ s1.lName)   

2 个答案:

答案 0 :(得分:2)

你可以使用构造函数窃取。

  function Student(fName,lName) {
      Person.call(this,fName,lName); 
                this.study = function () {
                   alert("I am studing !");
                }
            }

当您致电Student构造函数时,您可以将Person()的参数传递给call()以初始化Person

中的变量

答案 1 :(得分:0)

这是通过调用父构造函数

来完成的
function Student(fName, lName, whateverelse) {

     Person.call( this, fName, lName ); // call base class constructor function

     this.study = function () {
        alert("I am studing !");
     }
}