JavaScriot原型语法的问题

weixin_40980353 2018-05-14 02:27:37
为什么代码这样写就会出现错误呢
function Person() {
Person.prototype= {
name: "Nicholas",
age: 29
}
}

alert(Person.prototype.name);
...全文
840 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
pavee 2018-05-18
  • 打赏
  • 举报
回复
Almost every function (with the exception of some built-in functions) has a prototype property that is used during the creation of new instances. prototype solved the problem of inheritance of JavaScript. If you want to define a constructor, using the following format:
function Person(name) {
  this.name = name;
  this.sayName = function () {
    console.log(this.name);
  };
}
or defined as prototypes property:
Person.prototype.profile = {
  name: "Nicholas",
  age: 29
}
无聊的上午 2018-05-15
  • 打赏
  • 举报
回复
引用 2 楼 weixin_40980353 的回复:
[quote=引用 1 楼 LittleMan_LC 的回复:] alert() 应写下function 里面。
<script type=text/javascript>
	window.onload=function (){
		Person();
	}
	function Person() {
    Person.prototype= {
        name: "Nicholas",
        age: 29
    }
	alert(Person.prototype.name); 
}
</script>
为什么啊 这个有什么内部原因吗 [/quote] 你的写法类似做了个闭包,外部访问不到就报错
  • 打赏
  • 举报
回复
你没执行Person()这个方法,里面的”Person.prototype= “赋值语句还没有执行。
天际的海浪 2018-05-14
  • 打赏
  • 举报
回复
要在构造函数外设置 prototype,否则就要调用一次构造函数才能设置 function Person() { } Person.prototype= { name: "Nicholas", age: 29 }
weixin_40980353 2018-05-14
  • 打赏
  • 举报
回复
引用 1 楼 LittleMan_LC 的回复:
alert() 应写下function 里面。
<script type=text/javascript>
	window.onload=function (){
		Person();
	}
	function Person() {
    Person.prototype= {
        name: "Nicholas",
        age: 29
    }
	alert(Person.prototype.name); 
}
</script>
为什么啊 这个有什么内部原因吗
LittleMan_LC 2018-05-14
  • 打赏
  • 举报
回复
alert() 应写下function 里面。
<script type=text/javascript>
	window.onload=function (){
		Person();
	}
	function Person() {
    Person.prototype= {
        name: "Nicholas",
        age: 29
    }
	alert(Person.prototype.name); 
}
</script>

87,839

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧