Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何判断是在浏览器中运行还是在NodeJS中运行?_Javascript_Node.js_Browser - Fatal编程技术网

Javascript 如何判断是在浏览器中运行还是在NodeJS中运行?

Javascript 如何判断是在浏览器中运行还是在NodeJS中运行?,javascript,node.js,browser,Javascript,Node.js,Browser,Javascript代码判断它是在浏览器中运行还是在NodeJS中运行的最佳方式是什么 我在寻找一个布尔值的东西 试图访问窗口并捕获异常似乎很难。有更好的方法吗?您可以使用以下的精简版本: 您可以使用以下内容的精简版本: 没有例外节点=(窗口类型==“未定义”)为什么不检查节点中提供以下输出的process.version:{http_parser:'1.0',node:'0.10.4',v8:'3.14.5.8',ares:'1.9.0-DEV',uv:'0.10.3',zlib:'1.2.3

Javascript代码判断它是在浏览器中运行还是在NodeJS中运行的最佳方式是什么

我在寻找一个布尔值的东西


试图访问
窗口
并捕获异常似乎很难。有更好的方法吗?

您可以使用以下的精简版本:


您可以使用以下内容的精简版本:


没有例外<代码>节点=(窗口类型==“未定义”)为什么不检查节点中提供以下输出的process.version:{http_parser:'1.0',node:'0.10.4',v8:'3.14.5.8',ares:'1.9.0-DEV',uv:'0.10.3',zlib:'1.2.3',modules:'11',openssl:'1.0.1e'}这是我们用于节点/AMD/浏览器检测()的块,而不是布尔值(有两种以上的设置),它在不同的配置中调用初始化函数。没有异常;
nodal=(typeof window=='undefined');
为什么不检查process.version,它在node中提供以下输出:{http_parser:'1.0',node:'0.10.4',v8:'3.14.5.8',ares:'1.9.0-DEV',uv:'0.10.3',zlib:'1.2.3',modules:'11',openssl:'1.0.1e'}下面是我们用于node/AMD/浏览器检测()的块,而不是布尔值(有两种以上的设置),它在不同的配置中调用初始化函数。为什么要为要计算为bool的对象返回bool呢?
var isNode=typeof exports!==“object”;
我认为我的版本更清晰。您如何确保将来“exports”变量不会表示对象浏览器端?常见的“cast to boolean”运算符(这仍然是不必要的,但至少使布尔性变得清晰)is
!!
?true:false
对大多数JavaScript开发人员来说都是一种强烈的代码味道。首先,我听说过这一点。为什么要为要计算为bool的东西返回bool呢?
var isNode=typeof exports!=='object';
我认为我的版本更清晰。您如何确保将来不会使用'exports'变量要表示对象浏览器端吗?常见的“强制转换为布尔”运算符(这仍然是不必要的,但至少使布尔性变得清晰)是
!!
?对大多数JavaScript开发人员来说,true:false
是一种强烈的代码气味。首先我听说过。@BenFortune你是对的:更正了。@BenFortune你是对的:更正了。
var isNode = (typeof exports === 'object') ? true: false;
var isNode = (typeof processs != 'undefined' && typeof process.versions != 'undefined' && typeof process.versions.node != 'undefined');