一道javascript题

查看:85
本文介绍了一道javascript题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

    var fun = function () {
        this.name = 'peter';

        return 'jack';
    };

    console.log(fun());
    console.log(new fun());

第一个log,是不是fun()是被当做普通函数执行,第二个log是不是说加上new就被当做构造函数?

解决方案

你的理解是对的。不过要说一句,你们可能忽略的细节。

在构造函数中的 this,当一个函数被作为一个构造函数来使用(使用new关键字),它的this与即将被创建的新对象绑定。

注意:当构造器返回的默认值是一个this引用的对象时,可以手动设置返回其他的对象,如果返回值不是一个对象,返回this。

这篇关于一道javascript题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆