美文网首页
javascript 面向对象技术

javascript 面向对象技术

作者: ZhiPengTu | 来源:发表于2018-08-11 14:29 被阅读0次

javascript类的实现:

1.集合类

set.js

function Set() {//这设计一个构造函数
    this.values = {};//集合数据保存在对象的属性里
    this.n = 0;//集合中值的个数
    this.add.apply(this, arguments);//把所有参数添加到 这个集合
}

//将每个参数都添加到集合当中
Set.prototype.add = function () {
    for (var i = 0; i < arguments.length; i++) {
        var val = arguments[i];//待添加的值
        var str = Set._v2s(val);//转成字符串的形式
        if (!this.values.hasOwnProperty(str)) {
            this.values[str] = val;
            this.n++;
        }
    }
    return this;
};
//从集合当中删除元素,元素由参数指定
Set.prototype.remove = function f() {
    for (var i = 0; i < arguments.length; i++) {
        var str = Set._v2s(arguments[i]);
        if (this.values.hasOwnProperty(str)) {
            delete this.values[str];
            this.n--;

        }
    }
    return this;
};

//如果包含 这个值 返回true 如果没有 则返回false
Set.prototype.contains = function (value) {
    return this.values.hasOwnProperty(Set._v2s(value));
}
//返回 结合的大小
Set.prototype.size = function () {
    return this.n;
};
//这里声明的是一个内部函数,用来将任意javascript值和唯一的字符串对应起来


Set._v2s = function (val) {
    switch (val) {
        case undefined:
            return 'u';
        case null:
            return 'u';
        case true:
            return 't';
        case false:
            return 'f';
        default:
            switch (typeof val) {
                case 'number':
                    return '#' + val;
                case 'string':
                    return '""' + val;
                default:
                    return '@' + objectID(val);
            }
    }
    function objectID(o) {
        var prop="|**object**|";
        if(!o.hasOwnProperty(prop)){
            o[prop]=Set._v2s().next++;
            return o[prop];
        }
    }

};
//设置一个初始id的值

Set._v2s.next=100;

送人玫瑰,手留余香。

相关文章

  • javascript 面向对象技术

    javascript类的实现: 1.集合类 set.js 送人玫瑰,手留余香。

  • JavaScript面向对象技术

    在JS中,万物皆对象。Javascript中只有对象。每个对象都具有一个__proto__属性,称为隐式属性,它指...

  • JavaScript学习

    javascript面向对象 初学javascript,感觉javascript的面向对象编程还是很有意思的,在此...

  • javascript的面向对象

    javascript面向对象 初学javascript,感觉javascript的面向对象编程还是很有意思的,在此...

  • ajax

    1. 面向对象 javascript 具有面向过程,面向对象,函数式编程的特点 javascript 重要 原型/...

  • 构造函数与 new 命令

    JavaScript 语言具有很强的面向对象编程能力,本章介绍 JavaScript 如何进行面向对象编程。 对象...

  • JavaScript面向对象学习笔记

    @(JS技巧)[面向对象] JavaScript面向对象学习笔记 封装 Javascript是一种基于对象(obj...

  • js高级

    学习目标: 理解面向对象开发思想 掌握 JavaScript 面向对象开发相关模式 掌握在 JavaScript ...

  • JavaScript 高级(备忘)

    在线地址:JavaScript 高级 目标 理解面向对象开发思想 掌握 JavaScript 面向对象开发相关模式...

  • 06-JavaScript高级

    学习目标: 理解面向对象开发思想 掌握 JavaScript 面向对象开发相关模式 掌握在 JavaScript ...

网友评论

      本文标题:javascript 面向对象技术

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