构造函数-P9-2019-12-05

弥补工厂函数创建对象的无法判断具体是什么对象的类型

区别于工厂函数的写法对象名前面字母大写

试比较工厂函数和构造函数的不同?

从代码量构造函数代码量少一些,
工厂函数内部需要创建对象,
返回对象,
以及需要你内部创建的对象名来赋值属性和方法,
命名来说;第一个构造名为大写而工厂则小写

//工厂函数代码
   function createHero(name, blood, age, weapon) {

            var o = new Object();
            o.name = name;
            o.blood = blood;
            o.age = age;
            o.weapon = weapon;

            o.attack = function() {
                console.log(weapon + '击杀');
            }
            return o;
        }
        var hero = createHero('张三', 100, '80', '剑')
        hero.attack();
//构造函数代码
   function Hero(name, blood, age, weapon) {
        
            this.name = name;
            this.blood = blood;
            this.age = age;
            this.weapon = weapon;

            this.attack = function() {
                console.log(weapon + '击杀');
            }
        }
        var hero = new Hero('张三', 100, '80', '剑')
        hero.attack();
构造函数可以具体检测

提取点:

判断对象类型三种方法
X insistanceof Y
typeof
object.constructor
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容