这是我在 javascript 对象中添加方法的代码。我搜索了很多,但对我没有任何帮助。怎么了??
<!DOCTYPE html>
<html>
<body>
<script>
var person = new Object();
person.prototype.display=function(){
alert("ok");
}
person.display();
</script>
</body>
</html>
这是我在 javascript 对象中添加方法的代码。我搜索了很多,但对我没有任何帮助。怎么了??
<!DOCTYPE html>
<html>
<body>
<script>
var person = new Object();
person.prototype.display=function(){
alert("ok");
}
person.display();
</script>
</body>
</html>
您不能将属性添加到undefined。
var foo = new Object();
foo.prototype; // undefined
Object.getPrototypeOf(foo); // prototype of all objects
要使用自己的原型创建对象,请使用Object.create
var proto = {},
foo = Object.create(proto);
foo.prototype; // still undefined
Object.getPrototypeOf(foo) === proto; // true
或者,new
与虚拟函数一起使用
var Obj = function () {},
proto = Obj.prototype = {};
var foo = new Obj;
foo.prototype; // again still undefined
Object.getPrototypeOf(foo) === proto; // true
一旦你有了最后两个的原型,你就可以像往常一样使用它
proto.display = function () {console.log('display');};
foo.display();
尝试这个:
function person() {}
person.prototype.display = function(){ alert("ok"); }
var p = new person();
p.display();
已编辑以修复语法错误。
如果您尝试在 javascript 中实现原型继承,“人”需要是一个函数,而不是一个对象。
我认为这是一个很好的介绍 - http://alexsexton.com/blog/2013/04/understanding-javascript-inheritance/。