JS在线运行工具,提供了在线运行、测试、调试JS代码的功能。本工具所要运行的JavaScript代码,均在客户端浏览器执行,不会发送到服务器解释执行。因此,执行速度相当快。
本工具特别适合对小段JS代码进行测试(调试)的场景。比如,可以通过本工具对某个方法进行测试(也称为单元测试),以判断方法执行结果是否符合预期。
本工具给出了一段示例代码,用于判断指定字符串是否是一个URL。这段代码定义了一个isUrl()
方法,方法内部使用正则表达式来验证参数字符串是否是符合URL规则;同时,还演示了如何测试我们定义的isUrl()
方法。
代码如下:
// 获取当前网页URL function getUrl() { var url = window.location; return url; } // 测试代码 var r = getUrl(); // 输出结果 console.log(r);
测试结果如下:
我们将使用ES5标准中数组的map()
方法,对数组中的数字乘以2,通过运行结果来验证方法是否符合预期。
测试代码如下:
var numbers=[1,2,3,4,5]; numbers = numbers.map(function(num){ returnnum*2; }); console.log(numbers);
测试结果:
> 2,4,6,8,10
由于JavaScript对象默认的toString()
方法只会输出[object Object]
,若想要以人类可读的方式打印一个对象信息,需要用JSON.stringify()
把对象以字符串的形式展示出来。
代码如下:
var person={name:"Jerry Fang",age:29,sex:"male"} console.log(person) console.log(JSON.stringify(person))
运行结果:
当要运行或测试的代码有错误时,本工具将以红色文字把错误信息展示在运行结果区。比如,当调用对象不存在的方法时,会提示:xxx is not a function.
测试代码如下:
var person={name:"Jerry Fang",age:29,sex:"male"} console.log(person) console.log(person.sayHello()) console.log(JSON.stringify(person))
运行结果:
从上面的运行结果可以得知,在JS错误代码之前的代码可以正常运行;JS代码之后的那些代码将不会被执行,这也符合我们对程序执行顺序的基本认知。
由于是在网页中显示JS运行结果,所有结果本质上都是一个字符串(包括JS对象)。因此,本工具只支持使用console.log()
输出执行结果,console
对象的其它方法,如:console.info()
、console.error()
、console.table()
等均不支持。
由于本工具是基于客户端浏览器来完成JS代码的运行,因此,是否支持最新的ES特性以及对ES标准支持的程度,完全取决于你当前使用的浏览器。通常,我们建议使用主流浏览器(如:Chrome、Firefox、Safari)的最新版本来测试JavaScript代码。当然,由于各浏览器之间的差异,同一段代码,在不同的浏览器执行,可能会得到不一致的结果(甚至报错),需要各位了解并知悉原因。