关于new

关于new

        function person(name) {

            this.name = name;

            this.say = function () {

                console.log(this.name)

            }

            return 1;

        }

        var p1 = new person("小李");

        console.log(p1)

如果写成var p1 = person("小李"); 是不是只看函数的返回值return 是什么 

写成 var p1 = new person("小李"); p1就变成了函数 function person()?

正在回答

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

1回答

同学你好,问题解答如下:

  1. 函数名加括号是调用函数,调用函数会返回值(即return)。person("小李")就是直接调用了函数,所以return返回了什么内容,p1接收的函数返回值就是什么。这里返回的是1,所以p1=1。

  2. new是js中构造函数实例化的关键字,即new person("小李")就是person实例,实例对象继承了person。所以p1接收的是一个新对象,不是person函数本身,而是person的实例。

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

问题已解决,确定采纳
还有疑问,暂不采纳

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

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

0 星

相似问题

登录后可查看更多问答,登录/注册

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

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

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

在线咨询

领取优惠

免费试听

领取大纲

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