用JavaScript脚本实现的图灵机
作者:月影 来源:月影博客 发布时间:2009-01-21 18:10:00
Array.prototype._ = function(){
var _p = 0;
var _v = 0;
(function(){
for(var i = 0; i < arguments.length; i++){
var c = arguments[i];
if(typeof c == 'number'){
this[_p] = this[_p] || 0;
this[_p] += c;
}
else if(c instanceof Array){
if(c.length == 0){
this[_p] = _v;
}else if(c.length == 1){
_v = this[_p];
_p += c[0];
}else{
while(this[_p]){
arguments.callee.apply(this,c);
}
}
}
}
}).apply(this, arguments);
return this;
};
[+n] 读取指针处内容并且指针从当前位置前进n步
[-n] 读取指针处内容并且指针从当前位置后退n步
+n 指针指向的字节的值加n
-n 指针指向的字节的值减n
[] 将数据写入指针处
[ 如果指针指向的单元值为零,向前跳转到对应的]指令的次一指令处
] 如果指针指向的单元值不为零,向后跳转到对应的[指令的次一指令处
计算1+2+3......+100的值:
alert([100]._([[+1],[],-1],[-1],[[-1,[+1],+1,[-1]],[],[-1]])[0]);
比较两个数的大小,得到较小的那个:
alert([,,4,5,]._([+2],[[-2],+1,[+2],-1,[+1],-1,[0,[+1]],[-2]])[0]);
猜你喜欢
- 语言是信息传播的主要障碍。多语言网站,顾名思义就是能够以多种语言(而不是单种语言)为用户提供信息服务,让使用不同语言的用户都能够从同个网站获
- 数据完整性是任何数据库系统要保证的重点。不管系统计划得有多好,空数据值的问题总是存在。本文探讨了在SQL Server中处理这些值时涉及的3
- 写了个JavaScript版的DateAdd、DateDiff、IsDate函数,大家评评!需要说明的是,JavaScript中IsDate
- 今天要处理通知书上的日期,写的一个处理程序,效率可能不是最优的,不过实现功能绝对没问题。注:月份和天要分>10,=10,<10三
- 最近越来越多在博客上写些UX相关的内容作为分享,就涉及到跟普通博文不一样的文章建构问题。文章内容固然很重要,但排版、组织也是提高可读性和用户
- 昨天看到设计师提供的一张有关多个设计师角色间的漫画图(如下图),着实感到有点讽刺。现在的设计还只是停留在“盲人摸象”的阶段,为什么会这样?在
- 斐波那契记忆优化法:<script type="text/javascript">var fibonacci
- 我在一篇文章所说,首页的“站点名称”最好用h1标签来定义,但从美观考虑,要用logo图片来代替h1,这时需要隐藏h1内的这段文字,但又不能对
- Q: I am working with Oracle database 8.1.7 and I have written a JAVA c
- 1983年1月19日,苹果公司发布乔布斯领导研制的新一代电脑Lisa,当时Lisa电脑的设计人员就认为,必须将立即执行的命令和需要用户附加输
- Module Tabs(也称选项卡,后文中简称Tab,以便更符合中国设计师的日常叫法) 是一个常见的交互元素——将不同的内容重叠放置在某一布
- 以下为谷歌国际少年绘画大赛,小学1-3年级作品。看孩子们的logo创意,自愧呀! 彩色世界我们热爱温暖的阳光,“O”代表我们心中的太阳。我们
- <HTML><HEAD><TITLE>SQL Server 数据库的备份
- 作为一个非设计出生的研究思路偏向的设计师,带着少了设计师自恋和自怜的眼光,我记下最近一年来感受到的交互设计师的尴尬。交互设计师就是出界面的,
- Web应用的发展,使得客户端存储使用得也越来越多,而实现客户端存储的方式则是多种多样。最简单而且兼容性最佳的方案是Cookie,但是作为真正
- 工作闲余,除抱有浓厚兴趣领域,我很不喜欢看些晦涩难懂的文字,于是想像茶余饭后的闲聊,随谈点话题。一次和一朋友吃饭聊天,随便聊到了他最近做的一
- Software as a service 软件即服务,21世纪开始兴起的一种完全创新的软件应用模式。客户通过互联网向厂商定购所需的应用软件
- 背景在吉日嘎拉的软件编程走火入魔之:数据库事务处理入门(适合初学者阅读)文章中关于MS SQL Server和Oracle对数据库事务处理的
- 如果说哪个开源程序不需要介绍大家就认识,那一定是phpMyAdmin,一款流行的MySQL数据库的Web管理界面。MySQL是全球最流行的W
- 相信用过Gmail的人都知道Gmail有一个草稿自动保存的功能,每过一段时间,Gmail都会自动保存邮件草稿,这样在一些突 * 况下就能快速地