js写类

作者: 石菖蒲_xl | 来源:发表于2018-11-03 10:10 被阅读4次
var obj = {};
obj.x = 1;
var bjo = inherit(obj);
bjo.x = 2;
console.log("x" in obj);//属性名(字符串) obj是否包含属性x
console.log(obj.x,bjo.x);
//继承
function inherit(proto) {
    //proto是一个对象,但不能是null
    if(proto == null) throw TypeError();
    if(Object.create) return Object.create(proto); //如果Object.create()存在,使用它
    var t = typeof proto; //否则进一步检查
    if(t!=='object' && t!=='function') throw TypeError();
    var F = function() {}; // 定义一个空构造函数
    F.prototype = proto; // 将其原型属性设置为proto
    return new F(); // 使用F()创建proto的继承对象
}
/*三、极简主义法
 * 这种方法不使用this和prototype,代码部署起来非常简单,这大概也是它被叫做"极简主义法"的原因。
 * 1.首先,它也是用一个对象模拟"类"。在这个类里面,定义一个构造函数createNew(),用来生成实例。
 * 2.然后,在createNew()里面,定义一个实例对象,把这个实例对象作为返回值。
 * 3.使用的时候,调用createNew()方法,就可以得到实例对象。
 * 这种方法的好处是,容易理解,结构清晰优雅,符合传统的"面向对象编程"的构造
 * */
var Cat = {
    sound:"喵喵!",//共有变量
    createNew: function(){
        //var sound = "喵 喵 喵";//私有变量
        var cat = {
            makeSound:function(){
                alert(Cat.sound);
            },
            chooseSound:function(v){
                Cat.sound = v;
                alert(Cat.sound);
            }
        };
        return cat;
    }
};
var cat1 = Cat.createNew();
var cat2 = Cat.createNew();
cat1.makeSound();
cat2.makeSound();
cat2.chooseSound("啦啦啦");
cat1.makeSound();

相关文章

  • js写类

  • 认真的类

    没有ES6之前,我觉得JS这门语言类的写法非常的难受,我都觉得JS中只有一组变量,是没有类的。类的写法,我这个写多...

  • 仿写电话簿

    HTML css JS 构造函数写法 类的方法 写的不好,希望大家多多指点

  • 百度地图使用经验-第1集:成功展现第1个地图

    第1步:引入js(携带密钥) 第2步: 创建一个div 第3步: 写js 类: js自己的面向对象的特点; ES6...

  • ts中引入JS文件

    游戏中都是使用TS,公司的加密算法都是js写的。之前都是引入类,死活不成功。不知道是不是TS中引入JS类不行,要单...

  • 55 -前后端分离博客项目(一)React框架

    55 -前后端分离博客项目(一)React框架 总结:前端最重要的编程就是JS;写类,写函数; 55.1-Reac...

  • 2019-08-20|通过js或者jq,将类为‘one’的

    我想通过js或者jq,将类为‘one’的 标签元素背景颜色改为红色怎么写?

  • JAVAWEB自定义标签开发

    传统标签技术复杂 写一个类实现Tag接口 写一个tld文件,描述写好的类 在JSP页面引入tld文件,就可以在JS...

  • js组件化开发

    如果不了解js的继承的写法,可以先去看看我之前写的js的子类继承父类文章http://www.jianshu.co...

  • js深拷贝

    在写深拷贝之前,有必要说一下js的数据类型 一.js数据类型 1.1 分类 js数据类型分为两类:原始数据类型、引...

网友评论

    本文标题:js写类

    本文链接:https://www.haomeiwen.com/subject/vxqkxqtx.html