正しい継承とは?

var f=function(){}
f.prototype.a=function(){
	alert('a')
}
var ins = new f
alert(ins.constructor==f) // true
alert(ins.constructor.prototype.a) // function(){alert('a')}

↑こう書くと関数aを参照できるけど・・・

var f=function(){}
f.prototype={
	a:function(){
		alert('a')
	}	
}
var ins = new f
alert(ins.constructor==f) // false
alert(ins.constructor.prototype.a) // function(){alert('a')}

↑こう書くと参照できない。では、insのconstructorは何になるのだろう??

JSにおける正しい継承の書き方は前者の方法ってことかな?prototypeのoverrideはしない方が無難??


↓ここでも同じようなこといってる。忘れてた。

__proto__プロパティ - cyokodog::memo