`

Javascript练习环境

阅读更多

在工作中,我们使用Javascript基本上是在浏览器这个环境里面。可是无论是Firefox + Firebug,还是Safari的Javascript调试环境,对于学习Javascript和练习Javascript都不甚方便。其实,我们完全可以像Python或者Ruby那样学习Javascript。

 

首先,安装Javascript的解析器。自从Google推出V8 Javascript引擎之后,Javascript引擎便成为浏览器厂家比拼的重要战场。但世界上,Mozilla的Javascript解析器(C版本和Java版本的)很早就公布在其网站上面,只是我们很少使用罢了。我们这里选用V8引擎作为Javascript引擎。(以下以MacOS为例,Linux/Windows可以借鉴)

 

1.  安装scons

scons是一个用python写的替代Make和Makefile的build工具。功能肯定强于Make(大胆猜测也强于Ant和Maven,因为它的执行程序,配置文件都是Python的)。安装最新版本就好了。这里有个前提条件,必须使用Python2.5以上版本。

 

2.  从svn上check out V8引擎源代码

svn checkout http://v8.googlecode.com/svn/trunk/ v8

 

3.  进入源代码目录,运行以下命令:

scons sample=shell

确保安装的scons在PATH里面。

build完成后,能看到两个重要的文件:libv8.a和shell。我建议可以mv shell v8。这个v8就是Javascript解析器。

你可以运行v8 或者v8 <javascript file>。

 

4.  尝试修改少量的代码

浏览器的Javascript是不能print的,你看结果一般使用alert或者firebug的console.log。但是一般独立的Javascript(如V8,或者Mozilla的Javascript引擎)都能使用print察看结果。可是我们发现在v8里面打印array结果不是很友好:

譬如:

var arr = [1,2,3];

print(arr);

输出是:1,2,3而不是[1,2,3]。

我们可以修改源代码,让输出更友好一些。修改src/array.js

/**
 *  @author AnkyHe 
 *  Use [ ] to enclose array output
 *  Example:
 *    var arr = [1,2,3];
 *    print(arr);
 *      --> 1,2,3 // current
 *      --> [1,2,3] // revised
 */
function ArrayToString() {
  if (!IS_ARRAY(this)) {
    throw new $TypeError('Array.prototype.toString is not generic');
  }
  return "[" + Join(this, this.length, ',', ConvertToString) + "]"; 
}

/**
 *  @author AnkyHe
 *  Use [ ] to enclose array output
 *  Example:
 *    var arr = [1,2,3];
 *    print(arr);
 *      --> 1,2,3 // current
 *      --> [1,2,3] // revised
 */
function ArrayToLocaleString() {
  if (!IS_ARRAY(this)) {
    throw new $TypeError('Array.prototype.toString is not generic');
  }
  return "[" + Join(this, this.length, ',', ConvertToLocaleString) + "]";
}

 然后重新到v8目录scons一下就OK了。

 

 

分享到:
评论
5 楼 xb963 2010-02-01  
不知者無畏啊!Python寫的就強啊!
4 楼 cywhoyi 2010-02-01  
楼主不知用过apatana,也是非常好调试JS以及其它脚本语言,拿出来分享下。谢谢
3 楼 darkbaby123 2010-01-30  
joyfun 写道
这个对学习语法什么的估计有用
但是实际上大部分情况下 JavaScript都是和操作dom元素有关的,这个估计就不行了
用浏览器其实也不算麻烦 当然 有人习惯这种控制台模式

现在用到的JS几乎都是处理页面效果,或者用Ajax和服务端交互数据。而且还要考虑浏览器兼容性,感觉这种纯console下的试验只能学习纯JS。而且个人觉得firebug挺好的,要不是它我早投奔Chrome了……
2 楼 joyfun 2010-01-28  
这个对学习语法什么的估计有用
但是实际上大部分情况下 JavaScript都是和操作dom元素有关的,这个估计就不行了
用浏览器其实也不算麻烦 当然 有人习惯这种控制台模式
1 楼 xbcoil 2010-01-28  
好神奇啊....是学javascript 的好工具....学习

相关推荐

    JavaScript练习反应速度

    本文将详细分析一个具体的JavaScript练习案例——“JavaScript练习反应速度”。该练习不仅有助于开发者更好地理解和掌握JavaScript的核心概念与技术,同时也能够作为一个有趣的休闲活动,帮助用户测试和提高自己的...

    s2-javascript-上机练习

    【标题】"s2-javascript-上机练习" 涉及的是JavaScript编程语言的实践环节,这通常意味着我们将深入探讨如何在实际操作环境中运用JavaScript技术。JavaScript是一种广泛用于网页和网络应用的脚本语言,它能够实现...

    JavaScript很好的练习项目

    闭包是JavaScript中一个高级概念,它允许函数访问并操作其外部作用域的变量,即使在其定义的外部环境已经不再存在。利用闭包可以实现数据封装,防止全局变量污染,以及创建私有变量和方法。 最后,模块化是大型项目...

    javascript 在线打字练习.zip

    "javascript 在线打字练习.zip" 文件可能是一个利用JavaScript和jQuery实现的互动型在线打字练习平台,它通过HTML和CSS构建用户界面,并使用JavaScript处理用户输入和反馈,提供一个富有教育意义且有趣的练习环境。...

    javascript基础练习题.pdf

    JavaScript 基础练习题 本文档提供了一系列 JavaScript 基础练习题,涵盖了 Java 语言的基本知识点,包括 Java 应用程序的 main 方法、Java 虚拟机的执行特点、Java 语言特点、符号与表达式等。这些练习题旨在帮助...

    用JavaScript建立在线练习.pdf

    【JavaScript在线练习系统构建】 JavaScript是一种轻量级的解释型编程语言,广泛应用于网页和网络应用开发。在本文中,我们将探讨如何使用JavaScript构建在线练习系统,尤其适用于个人网站或局域网内的教学资源。 ...

    javascript初学者练习代码

    "javascript初学者练习代码"提供了一系列实例,旨在帮助新手更好地理解和掌握JavaScript的基本概念和功能。 首先,我们来看“插入、删除表格”的部分。在网页中,表格是一种常见的数据展示方式。在JavaScript中,...

    《JavaScript》课程标准

    掌握 JavaScript 的开发环境的使用。 2. 核心 JavaScript:掌握 JavaScript 的基本语法;掌握 JavaScript 的高级特性。 3. 客户端 JavaScript:了解客户端 JavaScript 的起源和背景;掌握客户端 JavaScript 的工作...

    JavaScript教程 JavaScript源码

    JavaScript主要运行在浏览器环境中,用于增强用户界面,提供动态交互。它支持事件驱动、函数式以及基于原型的编程风格。JavaScript的核心特性包括弱类型、动态类型、基于原型的对象、第一类函数以及异步处理。 在...

    适合新手学习的JavaScript实例(精)

    JavaScript,作为全球最广泛使用的编程语言之一,是构建网页交互性与动态效果的关键技术。尤其对于初学者,掌握JavaScript的基本概念、语法以及实践...记得理论结合实际,多做练习,你会在JavaScript的世界里游刃有余。

    老裴帮助关于Javascript日期小控件的小练习

    本话题围绕“老裴帮助关于Javascript日期小控件的小练习”展开,旨在探讨如何利用JavaScript实现一个简单的日期选择器。 在网页应用中,日期控件常常用于表单输入,让用户能够方便地选择日期,而不是手动输入。...

    来自“菜鸟教程”JavaScript实例练习【二】web.zip

    在这个压缩包中的"web"文件可能包含了一系列的HTML和JavaScript代码文件,用于模拟实际的网页环境,帮助学习者将理论知识转化为实际操作。 1. 变量与数据类型:JavaScript支持动态数据类型,这意味着你可以在同一个...

    javascript-无缝滚动小练习

    6. **兼容性处理**:考虑到不同浏览器对JavaScript的支持程度,可能需要使用条件语句或者库如jQuery来确保代码在各种环境下都能正常工作。 7. **性能优化**:为了减少不必要的计算和提高用户体验,可以考虑使用缓动...

    [JavaScript入门]Eloquent JavaScript(2nd)

    书中还包含了大量的编程练习,通过这些练习可以加深对知识点的理解。 总体而言,《Eloquent JavaScript》第二版是一本适合初学者的教材,它不仅介绍了JavaScript语言的基本语法和程序设计的基本概念,还提供了深入...

    Javascript脚本程序调试器、正则表达式练习器

    利用提供的JavaScript脚本程序调试器进行实践,结合正则表达式练习器加深理解,你将能够更有效地解决问题,编写出更健壮的代码。记得,理论知识固然重要,但实践才是检验真理的唯一标准。所以,多动手、多调试、多...

    IoC和Javascript

    在描述中,虽然没有提供具体信息,但可以推测讨论可能围绕如何在JavaScript环境中应用IoC原则,以及这如何改善代码组织和管理。可能涉及的话题包括: 1. **模块化**:通过模块系统实现IoC,每个模块负责自己的功能...

    html/javascript的课程练习文档资料

    学习HTML和JavaScript,不仅需要掌握基本语法,还要理解它们如何在浏览器环境中运行,以及如何与其他Web技术(如CSS、APIs)协同工作。通过这份课程练习文档资料,读者将能够深化对这两门语言的理解,提升Web开发...

    JSDOM图片转换小练习

    通过这个小练习,不仅可以巩固JavaScript和DOM的基础知识,还能提升对用户交互和数据管理的理解,同时,对于理解服务器端环境如何模拟浏览器中的DOM操作也有一定的帮助。这样的练习对于前端开发者的技能提升是非常有...

    数据结构与算法 JavaScript 描述. 章节练习.zip

    通过这些资源,你可以逐步掌握如何在JavaScript环境中设计和实现复杂的数据结构,以及如何利用算法解决实际问题。 总结而言,"数据结构与算法 JavaScript 描述. 章节练习.zip"是针对数据结构和算法学习的宝贵资源,...

Global site tag (gtag.js) - Google Analytics