一 : JavaScript中的原型和对象机制
1 对象相关的一些语言特性
1.1 一切皆为对象
JavaScript里所有的东西都是对象。 对象是属性的集合。 数字, 字符串, 布尔值等原始值是“伪对象”, 它们同样拥有属性, 但是是在栈上分配并按值传递。 而其他的对象是堆上分配并按引用传递。
一个很重要的概念是, 函数也是对象, 能够作为变量的值, 返回值, 参数或者属性的值。 函数对象特殊的地方是能通过“xxx()”语法执行包含在xxx函数对象内的代码。 因为这一特殊性, typeof xxx 将会返回function, 但这只是一种便利设施。
1.2 对象的属性可以动态添加和删除
以下为引用的内容: var foo = new Object(); |
1.3 除了宿主对象, 其它对象皆由构造函数创建
要有对象, 就先要有创建对象的方法。
在C++/Java等语言, 这个方法就是实例化XXX类的一个实例xxx.
而在JavaScript的世界里实际没有类的东西, 当然仍然可以用“类”和“实例”等惯用语来描述JavaScript中类似的行为, 但其机制是完全不同的。 JavaScript的对象是由构造函数创建的, 每个对象都有constructor属性表示创建该对象的构造函数:
以下为引用的内容: function Test() { this.a = "hello"; } |
构造函数也是对象, 那构造函数是由什么创建? 内建的Function函数:
以下为引用的内容: function Test(a, b) |
Function函数又是由什么创建? 实际上Function是本机代码实现的固有对象. 不过为了一致性, Function也有constructor属性, 该属性指向它自己. 接上面的代码:
以下为引用的内容: /* 输出 function Function(){ |
2 原型prototype
2.1 prototype的概念
prototype是构造函数的一个属性, 该属性指向一个对象。 而这个对象将作为该构造函数所创建的所有实例的基引用(base reference), 可以把对象的基引用想像成一个自动创建的隐藏属性。 当访问对象的一个属性时, 首先查找对象本身, 找到则返回; 若不, 则查找基引用指向的对象的属性(如果还找不到实际上还会沿着原型链向上查找, 直至到根)。 只要没有被覆盖的话, 对象原型的属性就能在所有的实例中找到。
原型默认为Object的新实例, 由于仍是对象, 故可以给该对象添加新的属性:
以下为引用的内容: // prototype默认为new Object(); 为了方便, 记为p_obj |
2.2 原型链
除了能修改prototype指向的对象, 还能修改prototype指向哪一个对象, 即为prototype赋予一个不同的对象。 这可以实现一种简单的继承:
以下为引用的内容: function Superman() {} |
如果先实例化出一个对象, 再为构造函数prototype赋予一个不同的对象, 将会: 已经创建的对象的基引用不变, 将来创建的对象的基引用为新的原型对象:
以下为引用的内容: var f1 = {echo: function() { alert("sound"); } }; |
所有的构造函数的prototype都不能为空, 就是说Superman.prototype = null 会被解释引擎无视; 另一方面, Object构造函数也有prototype属性(该属性是只读的, 可以为原型增加属性,但不能赋予不同的对象), 故因此可以有多层的原型链, 但原型链的根必定会是Object.prototype 。 这意味着给Object.prototype增加属性影响到所有对象:
以下为引用的内容: Object.prototype.echo = function() { |
3. 构造函数和new的实质
构造函数是一个地地道道的函数, 一个函数之所以能成为构造函数, 是因为new运算符:
以下为引用的内容: this.msg = "window"; |
二者区别在于如何切入对象: Test() 在某个对象(例子中为window)的上下文上执行代码, 即this指向这个对象; new Test()创建一个新对象, 并以这个新的对象为上下文(this指向新对象)执行代码, 然后返回这个新对象。
假如有个函数:
以下为引用的内容: function Test() { |
结合以上的所有论述, 可以推测new Test()行为的伪代码表示为:
以下为引用的内容: 创建一个新对象temp; |
原文地址:
二 : 中国象棋人机对弈软件:象棋巫师
如果你是一名中国象棋迷,棋艺太臭无人问津?棋艺太好没有对手?作为一名棋迷,想提高棋艺却无人陪练是最痛苦的事,当然最好是有人和你一样疯狂,随叫随到,不过在现实生活中,这似乎很难实现。(www.61k.com]有以上症状者,象棋巫师能够满足你的需要。
象棋巫师软件界面
象棋巫师是一款功能超强的中国象棋教学、电脑对弈和棋谱编辑软件。软件安装后包括象棋巫师、象棋巫师魔法学校Ⅱ、象棋巫师竞技场三个部分。其中象棋巫师魔法学校Ⅱ为广大象棋爱好者提供全新的象棋教学体验;象棋巫师竞技场是象棋巫师内置的一款实战对局游戏。象棋巫师吸收了一些同类软件的优点,集众家之所长,受到广大象棋爱好者的高度评价。
象棋巫师竞技场软件界面
象棋巫师竞技场模拟20多种不同水平的对手,适合各种层次的象棋爱好者评价自己的棋艺,如果注册了象棋巫师官方账号,进入象棋巫师竞技场并登陆可与众多象棋爱好者参与成绩排名,享爱进步快乐,并且能把自己的对局保存成棋谱,既可以用象棋巫师分析也可以分享到网络上。
最后,如果你是一名中国象棋初学者,象棋巫师魔法学校Ⅱ就派上用场了。它内置上千局精心挑选的习题,采取杀局和残局合理搭配方式,全面提高学员棋艺水平;支持与众多学员参与成绩排名,全程记录学员教学进度,并拥有强大的象棋巫师用户中心云端存储功能,不用担心更换电脑或重装系统而丢失进度; 提供提示、悔棋、跳过等功能,辅助学员挑战高难度习题。
下载地址:Dbank网盘 | 官方下载
原文链接 www.61k.com ?p=636
三 : 象棋中的人性
对象棋的爱好,来自于一位初中的同学,他叫黑蛋,比我大一两岁。当年,上初中没有什么娱乐可玩,记得除了买一两本小说来读读外,几乎是散兵游勇,瞎玩一气。而那时的军旗、象棋,对我来说是一种高级的游戏,黑蛋对象棋、军棋精通,而且还拥有一副两副军旗或象棋,拿出来秀秀,当时,跟在他屁股后玩的我,就不自觉地学会了走几步,知道了象棋的布局,也了解了“马走日,象走田,车走直道炮翻山;士走角,围将转,小卒只能往前看”这种象棋的走法。每当黑蛋拿出棋来,羡慕得不得了,想自己那天也能买一副,放在家里过过瘾,让别人也羡慕羡慕咱。
时间过得真快,一愰几十年过去了,象棋在我的生活里时而出现,见了免不了手痒痒,就对阵几盘,不管输赢,一笑了之。后来,网上出现象棋游戏,就在网上对弈,网上对弈要的是积分,所以,有的玩家快要输了,为了不失分,就在网上拖着跟你磨时间,等到最后一秒时间限制时才走,耍赖皮,一遇到这种主儿,特没劲,我就立马换人。
最近几年,卫辉象棋风猛刮不减,特别在汽车站对过的农业银行墙外胡同,渐渐成了象棋爱好者集聚的地方,每天,少则两摊三摊,多则十来摊,风雨无阻,遇到下雨天,就搬到农业银行的廊檐下,有老人,也有年轻人,有时一副棋跟前围十几个人,水泄不通,两军对垒,有跟红方一派的,也有跟黑方一派的,双方争论不休,面红耳赤,棋盘上狼烟滚滚,棋盘外火药味也是弥漫尘上。
有道是:“观棋不语真君子”。但在大街上下棋,不能怕人看,也不能怕人帮腔,山外青山楼外楼,高人出自凡间,围观者,高手多的是,但大多是一瓶子不响半瓶子晃荡,所以说,别人给你指招时,你可听也可不听,不能受别人思路的影响,认为别人说的对,你听就是了,如果认为别人说的不在理,你不听也没关系,毕竟大权在你手上。有一条必须明确,下棋是一种娱乐,增长智慧,磨练心境,切不可离开棋盘,伤人和气。理是这个理,实际上,人往那一坐,就不当家了,往往把一盘棋下的,是不是是,非不是非,下到性格、人际关系、情绪里去了,甚至骂不绝口,直至拳脚相加。
我到大街的棋摊,并不亲自操刀,是属于围观者的那种主儿,一是因为事儿多,坐不了一会儿,说不清就要拍屁股走人,总不能下一半跑了,把对方撂那儿不管。二是棋艺不精,自己那两把刷子,不敢露青,怕别人笑话。站在那儿看棋就不同了,你可以给红方指点,也可以给黑方指点,也可以双方都指点,指点错了,也不负责任,输赢跟自己一点关系都没有。
看棋的时间长了,我就觉得,在棋面前其实能够看出人的性格,不管你是县长大人,还是平民百姓,到了楚河汉界,真性情就会一览无余,真相毕露,活脱脱一个真实的自我,该骂人时,你会骂人,该急眼时你也会毫不客气地急眼,当你走了一步好棋,你自然而然地就会表现出洋洋自得的神情。( 文章阅读网:www.61k.com )
棋摊上有一个高手,人称“老曾”,因为对手不多,他一般不下,他往那儿一坐,也没有人敢跟他对奕,经他指点的步,一般都是步步经典,输盘的时候少。因此,棋界的人对他都很客气,嘴上都叫“曾老师儿”。而曾老师因为棋艺高,说话总是带点傲气,在棋胡同这二分地里别人也都服气。偶有不服或外来者,大家都让老曾上阵,老将一出马,棋摊马上围得水泄不通,有的是看老曾的笑话,有的是看棋艺,而老曾总是从容不迫,淡定自如,表现出一副大家风范。
我在市人民医院,偶然遇到一老者前去看病,老者是棋摊上的,我一眼就认出了,一搭话,老者就说:“我下棋从来都不回棋,而且也不听其他人的,我下我的,输就输了,我输一盘,就顶他们输三盘五盘,因为我是一个人,他们是一堆人,一个人对付一堆人,他们输一顶十。”老者的那种执拗脾气一目了然。
还有一位是退体干部,在位时,面目严肃,说话深沉。在棋盘面前,像换了个人似的,为了一步棋争论半天。别人开他的玩笑:“你这个厅长,办案行,下棋咋老回棋呢?”他听了也不急,反面嬉皮笑脸地说:“靠,下棋能跟办案一样,这能退,办案能鸡巴退?”
有时想,我们的老祖先真厉害,发明了中国象棋,让人们从象棋的纸上谈兵,懂得了礼仪、兵法、人际乃至社会关系。象棋很符合各个兵种的作战技法,卒,是战争中最小的单位个体,它在象棋里,只能一走一步,卒尽管能力小,但也有捉住老将的时候,那个时候往往是战争打到了最激烈、最残酷的时候,没有兵力了,只能靠小卒往前冲了,中国历史上很多战例都是用小卒活捉老将的,比如,毛泽东笔下的“齐声唤,前头捉了张辉瓒”,就是小卒的功劳。其它,炮、车、马的走法都很符合自己的作战特色,作为保卫中央老将的相和士,不能像其它兵种一样任意全盘作战,警卫只能在老将的周围,以保家为己任,所以它们两个兵种不能过河。
中国是个礼仪的国家,打仗要先下战书,两军对垒,排兵布阵,再出兵撕杀,而象棋正是依据这种先礼后兵的历史文化设计的,符合中国的军事文化特色。象棋开局布阵里常见的有“边马局”、“巡河炮”、“士角炮”、“仙人指路”等十几种,而历史上真正的阵法,我们听过的有穆桂英大破敌军的“天门阵”、诸葛亮奥妙无穷的八阵图等等,从象棋到现实的开局布阵,如出一辙,一脉相承。对奕中,凡是孙子兵法上能用的,在楚河汉界边同样适用,“声东击西”、“围魏救赵”、“以逸待劳”这些计谋,在象棋摊上经常可以看到。所以要想下好象棋,不仅要通晓布局阵法,还必须熟悉象棋的各种杀法和计策,所谓通盘考虑,高瞻远瞩,方能决胜千里。
高人下棋,不仅要布局技法厉害,而且还要知彼知己,要看和你对奕的那个人是个什么性格,讲不讲礼数,只有了解了对方,才能掌控决胜的方寸。如果对方是个急脾气,你可以用激将法来打乱他的套路,如果对方多疑,不能让其看出你的心思和下一步棋的步法,甚至可以通过他的多疑击垮他。我在看下棋时,发现有个人自信不足,总是在自己进攻失利时,丧失信心,而对方抓住了他性格的弱点,在时机成熟时猛力进攻,进攻过后,他的思路便乱了,已经无心再战,最后只有缴械投降了。
清朝左宗棠喜欢下棋,很少碰到对手。率兵赴新疆平叛前夕,在街上看到一个老人在写有“天下第一棋手”的招牌下摆棋阵。左宗棠觉得老人过于狂妄,便上前挑战。没想到老人不堪一击,连连败北。左宗棠命老人赶快自己砸了招牌走人。左宗棠从新疆平叛归来,看到那块“天下第一棋手”的招牌依然竖在那里。他很不高兴,决定再教训一次老人。这一次左宗棠居然被老人“杀”得落花流水,三战三败。他觉得不可思议,就问老人什么原因,老人微笑着回答:“上次您即将出征新疆,我不想挫伤您这个一军主帅的锐气,所以存心让你赢,如今,您已凯旋,我也就无所顾忌不再谦让了。”左宗棠听后,羞惭不已。
老人才是真正的棋中高手。
四 : 谋国如弈棋
61阅读/ www.61k.net
五 : 寻求一个中国象棋网络对弈平台我有一个朋友,是我们当地的象棋高手,
寻求一个中国象棋网络对弈平台
我有一个朋友,是我们当地的象棋高手,他没有,平时不上网下棋,可是这两天发生兴趣,经常到我这里,想在网上找高手切磋;我象棋水平太差,在中国游戏中心有一个号,只积了一百多分,我朋友有两千分以上的实力,可是他用我的号上网,高手都不愿意跟他下。
在中国游戏中心申请的号,都只能从最低的级别开始往上打。我知道有些围棋网站,如果觉得自己水平高,可以申请一个高段位的号。我想问,有没有一个象棋对弈网站,新注册的号可以申请到一个较高的级别?
或者哪位朋友有多余的中国游戏中心的象棋高分号,送给我一个,我愿意出一百分或者更多的分交换。
去弈天棋缘网下,这里不象联众世界,也不象QQ里的象棋,一开始上时,就会碰到高手,不信,你让他去那里试试!专业的象棋人士都去弈天棋缘网下,说不定会碰到张强。我曾用软件在联众世界上下,一直打到最高境界:国手,但是,一上弈天棋缘,一个等级较低的人也会让软件自愧不如!绝对是最佳的选择!
这是它的客户端下载地址:
当然,你也可打开它官方的网页:
然后,下载(就是上方的下载地址),安装后,打开客户端申请一个号码,然后就可以,痛痛快快地找人下了!这里的高手可多了,一般的话,县级冠军到这里能上到几级?
本文标题:中国象棋人机对弈-JavaScript中的原型和对象机制61阅读| 精彩专题| 最新文章| 热门文章| 苏ICP备13036349号-1