函数声明与函数表达式的有什么区别?
命名函数表达式的语义及其适用场景有哪些?
JScript、WebKit在实现命名函数表达式时“创造”了哪些bug?
SpiderMonkey在实现命名函数表达式是如何对规范“言听计从”的?

请看
命名函数表达式探秘

原文链接:http://yura.thinkweb2.com/named-function-expressions/
本文链接:http://www.cn-cuckoo.com/2009/12/22/named-function-expressions-demystified-1320.html

Table of Contents

  1. 前言
  2. 函数表达式与函数声明
  3. 函数语句
  4. 命名函数表达式
  5. 调试器中的函数名
  6. JScript的bug
  7. JScript的内存管理
  8. 测试
  9. Safari中存在的bug
  10. SpiderMonkey的怪癖
  11. 解决方案
  12. 替代方案
  13. WebKit的displayName
  14. 对未来的思考
  15. 致谢

今天抽时间专门研究了一番仿真器(emulator)和模拟器(simulator),分析过程就不写了,下面直接给出结论;有不明白的地方,可以再看参考文献和网络词典及维基的释义。

仿真器,指的是几乎能够百分之百地模拟某硬件或软件系统的全部特性、行为的装置或程序。
模拟器,指的是仿照真实的硬件、软件、环境、条件,能够在某种程度上再现这些硬件、软件、环境、条件的装置或程序。

仿真是尽可能做到全方位的模拟,而且力求逼真,有点欲将原型或模仿对象取而代之的味道。仿真更具体,接近实物(也有说接近硬件的,但肯定不局限于硬件)。
模拟只是表面上做做样子,不会有真实的过程发生;但能够给出反馈,多用于研究和培训。模拟更抽象,侧重建模

当然,也会存在模拟器与原型的近似程度堪与仿真器媲美的情况,但它们的区别还是十分明显的,那就是模拟不够“真实”,而仿真非常接近“真实”。

在参考文献中“记性不好,所以写写”的原话基础上稍作修改,可以说:

如果原型是一个人,那么仿真就是克隆一个新人(这个人的言行举止与原型几乎一模一样),模拟就是把这个人生活中的某一段录成视频(能够据以建模)。

参考文献

1.海之雁 《仿真专业词义辨析之一——模拟与仿真
2.记性不好,所以写写《Simulation & Emulation
3. 丁刚 《详述软件开发中模拟器与仿真器的区别查看全文 »