中易网

关于JS的错误

答案:3  悬赏:80  
解决时间 2021-05-12 17:30

我的代码如下:

<script language="javascript">
function Person(name, age){
 this.name = name;
  this.age = age;
 this.say = sayFunc();
}
 
  function sayFunc(){
       alert(this.name+ ":" +this.age);
 }


var person1 =new Person("张三",18);
person1.say();             
</script>

运行结果this.name为空,this.age未定义

请问错在哪里?

最佳答案

<script language="javascript">
 function Person(name,age){
  this.name = name;
  this.age = age;
  this.say = function(){
   alert(this.name + ":" + this.age);
  };
 }


 var person = new Person("张三",18);
 person.say();
</script>

全部回答

this.name是批量sayFunc的name和age,所以会出错

我修改了一下:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns=" http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <title>无标题文档</title> </head>

<body> </body> </html> <script language="javascript"> function Person(name, age){  this.name = name;   this.age = age;   this.say = function(){sayFunc(this.name,this.age)}; }     function sayFunc(name,age){     alert(name+ ":" +age);  }

var person1 =new Person("张三",18); person1.say()     </script>

function sayFunc(){     alert(this.name+ ":" +this.age);  } 这个方法里面没有name,age要给sayFunc()方法带上参数sayFunc(name,age)才能传进来
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
仙剑奇侠传5豪华版和标准版区别是不是就多送
say sorry的中文意思
我QQ手机密保忘记了
被爱是很幸福的吗
QQ会员一天涨十点到会员四要多少天?
怎样用固定电话开通QQ会员
二红烧烤海鲜在什么地方啊,我要过去处理事情
我想在社会上考2级,或者学习一些常用的办公
潍坊拉丁舞考级
我发烧了,却时好时坏,为什么?
QQ空间连连看说明
哪位帮忙点亮DNF图标
空间自定义皮肤上传变小如何解决
阴历1994年12月19阳历是多少?
泰迪的饮食习惯?
推荐资讯
哪首韩语歌一出来就是“啪勒 啪勒 啪勒”我记
黄泥崖子怎么去啊,有知道地址的么
给个好听的QQ昵称
世界上除了毒蛇之内的动物还有什么最毒
单眼皮要如何化妆才能把眼睛显得好看?
我叫菲菲,今年二十一岁,可我的心灵就象七八
夏天一日三餐吃什么比较好啊?
严明老味道涮毛肚在什么地方啊,我要过去处理
主题茶艺吧在哪里啊,我有事要去这个地方
HTC手机显示屏左上角有一个SIM卡的符号,旁边
为什么不能进QQ了??
怀孕了怎么屁股和腿脚会痛呢?
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?