元语言基础技术之:在JS中如何自由地创建函数

在前面讲元语言(QoBean的元语言系统之一、之二)的过程中,有些技术细节就忽略了。其中之一,就是这个创建函数的方法。这里开个小主题来讲讲。 在JS里面,我们可以用任意方法来构建对象,包括直接量和构造器。在使用构造器时,也可以有基于原型和基于属性抄写两种方法(以及这两种方法混用)。下面的例子简要地说明这些对象的构造方法: // 直接量对象声明 obj = {... } // 使用基于原型继承的方法来构造对象 function MyObject() { } MyObject.prototype = { constructor: MyObject, value: ... } obj ...

失眠蛛网

昨晚上有些累,躺在床上无法睡去。失眠象毒蛛一样织一张巨大的网,将我网罗其中,越挣扎,蛛丝缠绕越紧。 夜的黑幕空旷无垠,封裹着沉睡的世界,我在这世界之外踯躅。无风。无雨。无念。无欲。 天蒙亮时,挣脱蛛网,坠落于伤员看护病房闷热的长廊里。什邡的何阿姨终于能歪着身子下地走路了,她说再也不用我帮她端屎倒尿。北川中学十七岁的贺永琦脆脆地叫我:姐姐,你莫走!绵竹的金阿姨头骨已补好,拆了线。在梦里,我又看到她送我到楼梯口,眼底闪着潮润的光。 ...

QoBean的元语言系统(二)

上一篇:<< 第一部分:元语言系统基础,以及程序的基础元素 第二部分:元语言下的编程基本方法 三、代码组织形式 1. 物理代码块(代码文本、代码行) 代码到底应该如何组织?如果我们认为代码是由序列调用的例程构成的,那么我们可以把代码的形式回溯到很“远古”的时代,例如: function func1() { } function func2() { } function main( ...

QoBean的元语言系统(一)

QoBean是从元语言系统开始构建整个语言系统的,从本文开始,我开始讲述QoBean所理解的元语言。不过,不同的人、从不同的侧面所理解的“元语言”是不一样的,不必求同。 “QoBean的元语言系统”包括三篇,分别是: 元语言系统基础,以及程序的基础元素 元语言下的编程基本方法 元语言的应用:虚拟执行环境 QoBean的项目地址: https://qomo.svn.sourceforge.net/svnroot/qomo/qobean ...

夜北京

七月的北京,天气闷热。 它总在我离开的时候会下起暴雨来。无论我走到哪个城市,手机里总是一如既往地发着北京的天气预报,告知我第二天的天气状况,犹如我从未离开过一样。这短信在某些时候,很令人宽慰,毕竟总归是我想念的方向传来的消息。谈不上想家,因为北京,本来也不是我的家。 从四川回来后,北京不再下雨,一天天复制着炎热。对朋友们让我把所见所闻写出来的要求置若罔闻,心绪被脆弱和冷漠围剿得难以安宁。灰暗的记忆,不写也罢。 嫂子决定带我去北京的夜店泡通宵,她大概想让震撼的鼓乐敲碎我的颓废。 北京实行单双号行车,我俩都是单号车,遇上这个双号日子只好坐地铁。磁器口站下车。 ...

啥美,细致之美……

大概是在一年多前,一个朋友在MSN上与我聊天,忽然说道:我发现你做事也太细致了,连MSN聊天的时候,每句话后面都要打句号。我那时惊讶莫名,于是翻过去看历史,的确如此,绝大多数情况下,我的聊天记录都是标点符号正确的。 与此相同的,我后来把与王昊等几个朋友关于佛学的聊天记录摘下来,除了调整一下先后顺序之外,只字不改,便可以作Blog文章发表了。这便是所谓细心。 跟出版社打交道久了,便知道出版中尤其需要细致。一出点错,那就是几千册上万册的损失,印成实体书出来了,作者或许缘于对出版社的体谅,不去细究,但在读者那里却也不是买账的,墨印得不好就是不好, ...

JavaScript全局优化带来的负面效果……

读者在China-pub中指出《JavaScript语言精髓与编程实践》的一个示例在FF上不正常。具体来说,就是第“4.6.6 语句或语句块中的闭包问题”中的第二、三、四三个示例。这个问题我反复测试过,只出现FireFox(SpiderMonkey JavaScript)中。我当时意识到是SpiderMonkey特殊的全局变量引用机制导致的,但因为没有切实地、在源代码级别观察过,因此我没有立即回答这个问题。 这些天有点时间了,把这个话题拿出来重新讨论。代码是这样子的: var obj ...

对JavaScript的eval()中使用函数的进一步讨论~

《JavaScript语言精髓与编程实践》的读者I22141提出了一问题:为什么下面这段代码在JScript和SpiderMonkey中表现不一样: var func = eval("(function(){})"); alert(typeof func); 更进一步的问题是,书中对匿名和具名函数在JScript与SpiderMonkey中的表现解释得不够清楚。好的,这篇文章就这个问题深入讨论,不单涉及书中的内容,也更深入地讲述一下JS的解释与执行过程——其实所有的内容在书中都有涉及,但过于分散,不便于专门地来分析一个具体问题。 首先,应该明确表达式与语句。对于JS来说,eval()总是试图执行一个语句, ...

我的超迷你电脑

我的超小型迷你电脑,趴在床上上网呀、聊天呀、打游戏呀,很好玩,麻雀虽小,五脏俱全。键盘是可折叠的,显示器和主机用的是老公的多普达U1000手机,鼠标是超小的无线鼠,整个小小的很可爱呢~~~~~ ...

无语

没有哪篇文章能让我如此沉重、让我如此难以下笔。我以为我会写出惊心动魄的文字,但看着这些描写地震伤员那残缺的肢体、饱受的苦痛、和那至今仍惊悸的眼神的文字,我感到我的文字是何等的卑微和苍白,我又如何能描述清楚残留在他们心灵上的挥之不去的阴影。最终,我放弃,撕掉了五页密密麻麻的文字稿。 我们来自各地的志愿者日日夜夜地陪护在伤员身边,所见到的远远超出了我想像范围内的触目惊心。阳光和阴霾,我都不想去描述,也论不到我去说空话唱高调,我只做个有用的人。 许多天来,焦虑、失眠、紧张、疲劳,即使吃了神安片也于事无补,偶尔睡着的梦里,断墙残瓦,鬼怪横行。 ...

布偶鬼娃

发现鬼娃的时候,它正跟其它一些廉价布偶堆在一起、摊在地上,被一个满脸是汗的小贩兜售着。小商贩起劲儿地叫卖着这些处理布偶,五元一个,大多数是颜色明亮、模样可爱的小动物造型。 鬼娃当时就无奈地躺在一堆漂亮的玩偶中,那扎眼的丑陋外表和颇具狰狞的颜色让挑选的人唯恐躲之不及。 我一眼就看到了它丑陋外表下隐藏着的悲哀、感伤和无助。它是与众不同的。我拿起它,给小贩五元钱。狡诈的小贩看出我不同于他那些挑挑拣拣的顾客,他猜到我是真的想要。于是说:这是唯一的一个,需要七元。 我认为我只是收留了它,而不是单单花了七元买下的。抱着它坐公交车回家,车上很挤,而我周围却不挤。人们看看我, ...

发条青蛙

上紧了发条的半机械青蛙欢快地蹦达着。它不知道,当发条松后,动力消失,无人再来为它拧紧那根生命的弦,那它将会永远一动不动,直至生锈、被遗忘、被丢弃。 隔壁邻居家的小男孩拥有了新的玩具,便将这只被淘汰的发条青蛙送给了我。一并送给我的,还有一支只有七个音孔的小口琴。绿色的青蛙,黄色的口琴,得到这两件半旧的玩具时,我甚至因为爱玩具而爱上了邻家这个家境优越、长相丑怪的七岁男孩。 失宠的玩具易了主,重新获得新主人的宠爱。我用一块干净的手帕包着它们放在枕边,出门随身携带。遇见小朋友,便拿出来上紧发条,把青蛙放在地上看着它蹦,吹一吹口琴, ...

纪念际强

突闻海浩网于际强兄噩耗,遂匆匆作文,以此纪念。 于际强, 男,汉族,河南人,后定居新疆克拉玛依 生于1974年腊月23,1975年2月3号, 逝于2007年腊月24,2008年1月31号,遭遇车祸不幸离去.年满33岁. 生前为海浩网创办人. 在来海浩之前,我就知道际强兄,但来了海浩之后,我反而不知道了。 我可以算是个疯狂的下载者,因此我的印象中有一些与下载站相关的名字,例如最早的高春辉、华军乃至于天网,也有于际强。至于这个名字是什么时候进入我的脑海里的,我却不得而知, ...

双劫

一 南方的这座城市,已接近十月尾声。 潮润的风夹着细雨起劲地吹着街道,我站在十字街口,看满街的陌路人匆匆行走在陌生的城市。 送走了辰,天空就忽然下起了雨。一夜缠绵,身上带着他留下的余香,我抱紧臂膀,不想让雨水冲走这令我晕眩着迷的味道。 身边举着雨伞穿梭而过的路人,看我的眼中有艳羡的神情。我知道,初冬,即使我的玫红色外套有些厚重,但丝毫不影响在我身上恰如其分地勾勒出一个玲珑的腰身。脸颊白皙剔透,睫毛上挂着细密的雨珠,我的美,让我自信,让路人注目。 穿过马路,一辆卡车引面驶来将我撞倒。我站起身, ...

一个屎人

一个脑瘫屎人,在MSN上跟我闲扯蛋,东拉西扯地使用一些暧昧的词汇。对于这个屎人我还算了解,在上海我们一起出行一起聚会是常有的事。据他女朋友自己讲,该鸟一贯隐藏在网络背后,利用网络的隐蔽性来当面具,时时跳出来暧昧别的女生。为此他女朋友曾几度试图修理改造重塑这坨屎,但收效甚微。 今天这屎人又跳上来呲着牙胡咧咧,说: “变成京妞就不理我了?很久不见你了很想你呀!” 我说:“滚!” 屎人:“抽空我去趟首都,连吃带抢!” 我:“滚!” 屎人:“把你首都的手机号告诉我。” 我:“滚! ...