parseFloat("NaN")
Run Code Online (Sandbox Code Playgroud)
返回"NaN",但是
parseFloat("NaN") == "NaN"
Run Code Online (Sandbox Code Playgroud)
返回false.现在,这确实是一件好事,它确实会返回错误,但我不明白这是怎么回事.JavaScript创建者是否只是将此作为特例?因为否则我无法理解这是如何返回false的.
我正在尝试使用PhantomJS设置远程调试,没有太多运气.我按照https://github.com/ariya/phantomjs/wiki/Troubleshooting上的说明进行操作.我有一个名为的小程序debug.js:
var system = require('system' ), fs = require('fs'), webpage = require('webpage');
(function(phantom){
var page=webpage.create();
function debugPage(){
console.log("Refresh a second debugger-port page and open a second webkit inspector for the target page.");
console.log("Letting this page continue will then trigger a break in the target page.");
debugger; // pause here in first web browser tab for steps 5 & 6
page.open(system.args[1]);
page.evaluateAsync(function() {
debugger; // step 7 will wait here in the second web browser tab
}); …Run Code Online (Sandbox Code Playgroud) 有没有办法让javascript检测所有分配的变量?例如,如果一个js文件创建了一堆变量(全局范围),后续文件是否可以获取所有变量而不知道它们的名称和可能存在的变量?
提前致谢 :)
编辑,问题第2部分:
如何获取这些变量的值?这是我尝试过的:
根据评论建议,这就是我最终的结果:
for (var name in this) {
variables[name] = name;
variables[name]=this[name]
}
Run Code Online (Sandbox Code Playgroud)