老师,请帮我检查一下

来源:3-10 编程练习

慕粉8021849

2019-11-16 21:52:59

<!DOCTYPE html>

<html>

<head>

    <meta charset="UTF-8">

<title>Document</title>

</head>

<body>

<script type="text/javascript">

// 工厂模式

function createObject(name,action){

    var obj=new Object();

    obj.name=name;

    obj.action=function(){

        alert(str);

    }

    return obj;

    

}

//调用工厂模式

var box=createObject("imooc","前端");

box.action();


// 原型模式

   function text(){}

   text.prototype={

       name:"imooc",

       action:function(){

           alert("前端")

       }

   }

   //调用原型模式

   var box1=new text;

   box1.action();

   

// 混合模式

function aa(){

    aa.name="imooc";

}

aa.prototype{

    action:function(){

        alert("前端")

    }

}

var box2=new aa;

aa.action();


</script>

</body>

</html>


写回答

1回答

好帮手慕夭夭

2019-11-17

同学你好,代码的问题与修改如下:

1.第一个方式中,参数名写错了。如下修改:

http://img.mukewang.com/climg/5dd0be7409442cca08360308.jpg

2. 如下忘记加等号,会导致语法报错

http://img.mukewang.com/climg/5dd0bea80958ab4803670265.jpg

3.实例化的时候,aa要加括号。后面应该调用实例化对象box2的action方法。

http://img.mukewang.com/climg/5dd0bf15099e182503420181.jpg

4.教给同学一个调试代码的方式,以便帮你提升独立解决问题的能力。如下

在浏览器打开页面后,按键盘F12调出控制台,会发现报错:

http://img.mukewang.com/climg/5dd0bfa4099bdc5419130175.jpg

然后点击报错后面的文件名,会定位到有问题的代码。然后就检查代码哪里有问题,发现aa.prototype后面没有加等号。改完了可以继续在控制台查看,如果还有其他报错,继续按照这样的方式去改哦。

http://img.mukewang.com/climg/5dd0bfb80929c46b05200365.jpg

如果我的回答帮助到了你,欢迎采纳,祝学习愉快~

0

0 学习 · 14456 问题

查看课程