麻烦老师解答一下,谢谢

麻烦老师解答一下,谢谢

请问老师这样可以吗,把var stu = test();换成var stu =new test();结果一样,请问这两种方式有什么区别吗

<!DOCTYPE html>

<html lang="en">

<head>

    <meta charset="UTF-8">

    <title>5-4</title>

</head>

<body>

<script>


//补充代码 

function test() {

    var student = {

        name: "张宇",

        sex: "男",

        age: 18

    };

    function get() {

        alert(student.name + "--" + student.sex + "--" + student.age)

    }

    return get;

}

var stu = test();

stu();

</script>

</body>

</html>




正在回答

登陆购买课程后可参与讨论,去登陆

2回答

同学你好,区别可以参考如下:

1、创建方式和普通函数一样,但构造函数习惯上首字母大写

2、构造函数和普通函数的区别在于:调用方式不一样

3、普通函数的调用方式:直接调用,例:person();

4、构造函数的调用方式:需要使用new关键字来调用 new Person();

5、构造函数是不需要用return显式返回值的,默认会返回this,也就是新的实例对象。

祝学习愉快~



好帮手慕糖 2020-04-03 14:37:09

同学你好,关于你的问题,回答如下:

1、var stu = test();就是普通的函数调用。

2、new test是构造函数实例化对象。可以多次实例化的。且没有返回值。实现方式,可以参考如下:


http://img1.sycdn.imooc.com//climg/5e86d98a09111f2306290539.jpg

祝学习愉快~

  • 提问者 席萌萌 #1
    请问老师函数调用 和 构造函数实例化对象 的区别是什么呀,感谢
    2020-04-03 16:27:24
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
2.组件化网页开发
  • 参与学习           人
  • 提交作业       1121    份
  • 解答问题       14456    个

本阶段在运用JS实现动态网页开发的基础上,带你深入理解企业开发核心思想,完成一个企业级网页的开发,体验前端工程师的成就感。

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师