问一个JavaScript面向对象的问题

chen_2016_web 2017-08-20 03:41:14
我是想使用面向对象实现一个功能。
创建一个队伍,队伍人数大于或等于3人,而小于或等于5人。
队伍的每个人物是一个对象,而队伍又是一个独立的对象。

就目前而言,我遇到了一个问题,就是队伍对象和人物对象联合不起来。成立队伍的必要条件是"人数大于等于3人,而小于等于5人",也就是要在队伍里面做一个判断吧,判断新创建的人物对象的个数( Person),请问怎么才能知道新创建的人物对象( Person)的个数?求解怎么做?当然上面的只是我的思维方式,如果你可以使用你自己的方法,实现相同的功能,也是行的,也许我的想法一开始就是不实际的,根本没法关联两个独立的对象。

//队伍
function Ranks(){

}
//人物
function Person(name,level){
this.name = name;
this.level = level;
}
...全文
299 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
引用 4 楼 qq_34309305 的回复:
[quote=引用 3 楼 showbo 的回复:]

    //队伍
    function Ranks() {
        this.persons = [];
    }
    Ranks.prototype.min = 3
    Ranks.prototype.max = 5;
    Ranks.prototype.isValid = function () { return this.persons.length >= this.min && this.persons.length <= this.max }
    Ranks.prototype.add = function (p) { this.persons.push(p); if (this.persons.length > this.max) alert('超员,最大' + this.max + '人') }
    //人物
    function Person(name, level) {
        this.name = name;
        this.level = level;
    }

    var r = new Ranks();
    r.add(new Person('p1', 1));
    alert(r.isValid())
    r.add(new Person('p2', 2));
    r.add(new Person('p3', 3));
    alert(r.isValid())
    r.add(new Person('p4', 4));
    r.add(new Person('p5', 5));
    r.add(new Person('p6', 6));//ERROR
推荐学习资料 JavaScript apply与call的用法及区别 javascript生成二维码
你怎么总有推荐学习资料[/quote]SEO,SEO。。
75闪光雷 2017-08-21
  • 打赏
  • 举报
回复
引用 3 楼 showbo 的回复:

    //队伍
    function Ranks() {
        this.persons = [];
    }
    Ranks.prototype.min = 3
    Ranks.prototype.max = 5;
    Ranks.prototype.isValid = function () { return this.persons.length >= this.min && this.persons.length <= this.max }
    Ranks.prototype.add = function (p) { this.persons.push(p); if (this.persons.length > this.max) alert('超员,最大' + this.max + '人') }
    //人物
    function Person(name, level) {
        this.name = name;
        this.level = level;
    }

    var r = new Ranks();
    r.add(new Person('p1', 1));
    alert(r.isValid())
    r.add(new Person('p2', 2));
    r.add(new Person('p3', 3));
    alert(r.isValid())
    r.add(new Person('p4', 4));
    r.add(new Person('p5', 5));
    r.add(new Person('p6', 6));//ERROR
推荐学习资料 JavaScript apply与call的用法及区别 javascript生成二维码
你怎么总有推荐学习资料
  • 打赏
  • 举报
回复

    //队伍
    function Ranks() {
        this.persons = [];
    }
    Ranks.prototype.min = 3
    Ranks.prototype.max = 5;
    Ranks.prototype.isValid = function () { return this.persons.length >= this.min && this.persons.length <= this.max }
    Ranks.prototype.add = function (p) { this.persons.push(p); if (this.persons.length > this.max) alert('超员,最大' + this.max + '人') }
    //人物
    function Person(name, level) {
        this.name = name;
        this.level = level;
    }

    var r = new Ranks();
    r.add(new Person('p1', 1));
    alert(r.isValid())
    r.add(new Person('p2', 2));
    r.add(new Person('p3', 3));
    alert(r.isValid())
    r.add(new Person('p4', 4));
    r.add(new Person('p5', 5));
    r.add(new Person('p6', 6));//ERROR


推荐学习资料
JavaScript apply与call的用法及区别
javascript生成二维码
yuqiz1981 2017-08-20
  • 打赏
  • 举报
回复
 var RanksArry = [], PeopleObj_1 = {}, PeopleObj_2 = {};
            PeopleObj_1['name'] = '李四';
            PeopleObj_1['age'] = '34';
            PeopleObj_2['name'] = '张3';
            PeopleObj_2['age'] = '35';
            RanksArry.push(PeopleObj_1);
            RanksArry.push(PeopleObj_2);
            var peoNu = RanksArry.length; 
似梦飞花 2017-08-20
  • 打赏
  • 举报
回复
Ranks里放一个数组 原型上添加 对这个数组增删改查的操作 人数就是这个数组的length
JavaScript极速狂飙:组合拼接字符串的效率JavaScript极速狂飙:CSS样式表的背景渲染效率JavaScript面向对象的支持--(1)JavaScript面向对象的支持--(2)JavaScript面向对象的支持--(3)JavaScript面向对象的支持--(4)JavaScript面向对象的支持--(5)JavaScript面向对象的支持--(6)JavaScript精简学习1:基础知识JavaScript精简学习2:浏览器输出JavaScript精简学习3:图像JavaScript精简学习4:表单事半功倍之Javascript--(1)事半功倍之Javascript--(2)事半功倍之Javascript--(3)事半功倍之Javascript--(4)JavaScript教程--从入门到精通--(1)JavaScript教程--从入门到精通--(2)JavaScript教程--从入门到精通--(3)JavaScript教程--从入门到精通--(5)JavaScript教程--从入门到精通--(6)JavaScript教程--从入门到精通--(7)JavaScript教程--从入门到精通--(8)JavaScript教程--从入门到精通--(9)悟透JavaScript(李站老师)-编程的快乐悟透JavaScript(李站老师)-初看原型悟透JavaScript(李站老师)-对象素描悟透JavaScript(李站老师)-放下对象悟透JavaScript(李站老师)-构造对象悟透JavaScript(李站老师)-原型扩展用javascript操作 asp .net TextBox控件用javascript操作 asp .net Label控件用javascript操作 asp .net TextBox控件 下用javascript操作asp.net label控件 外一篇用javascript改变onclick调用的函数用JavaScript加密保护网站页面用Javascript检测网速的方法用Javascript评估用户输入密码的强度用JavaScript实现仿Windows关机效果用javascript实现进度条用javascript怎样实现图片模糊效果《ExtJS2.0实用简明教程》之Border区域布局《ExtJS2.0实用简明教程》之Ext类库简介《ExtJS2.0实用简明教程》之布局概述《ExtJS2.0实用简明教程》之获得ExtJS《ExtJS2.0实用简明教程》之应用ExtJSjs访xml之遍历节点树js访xml之创建xmlDocumentjs访xml之根节点操作js访xml之节点操作(1)js访xml之节点操作(2) js访xml之节点对象属性和方法js访xml之删除一个book元素节点js访xml之添加一个book元素节点【JS】兼容ff的加入收藏和设为首页【补】【sina】绕过sina博客的限制,超级BT执行Javascript【blog】介绍一下给sina博客加背景音乐的办法【Blog】再次解说博客加音乐的办法张孝祥JavaScript教程笔记:HTML基础张孝祥JavaScript教程笔记:HTML基础(二)张孝祥JavaScript教程笔记:HTML基础(三)-URL,图像标签,图像地图JavaScript经典效果集锦(一)JavaScript经典效果集锦(二)JavaScript经典效果集锦(三)Javascript技术技巧大全(一)Javascript技术技巧大全(二)Javascript技术技巧大全(三)Javascript技术技巧大全(四)Javascript技术技巧大全(五)JavaScript[对象.属性]集锦之一

87,994

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧