Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/422.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript继承不起作用_Javascript_Oop - Fatal编程技术网

Javascript继承不起作用

Javascript继承不起作用,javascript,oop,Javascript,Oop,我有以下代码: function a() { this.j = "aa"; } var b = { o:2 }; b.prototype = new a(); alert(b.j); //alert "undefined" 为什么我没有定义?将“b”转换为函数: function B() { this.o = 2; } 然后给它一个原型: B.prototype = new a(); 然后构造一个“b”: 然后查看您的警报报告。因为在JavaScript中继承不是这样工作的。 func

我有以下代码:

function a() { this.j = "aa"; }
var b = { o:2 };
b.prototype = new a();
alert(b.j); //alert "undefined"
为什么我没有定义?

将“b”转换为函数:

function B() {
  this.o = 2;
}
然后给它一个原型:

B.prototype = new a();
然后构造一个“b”:


然后查看您的警报报告。

因为在JavaScript中继承不是这样工作的。
function a() {this.j="aa";}
function b() {this.o=2;}
b.prototype=new a();
b.prototype.constructor=b;

var c = new b();

alert(c.j);
function a() {this.j="aa";}
function b() {this.o=2;}
b.prototype=new a();
b.prototype.constructor=b;

var c = new b();

alert(c.j);