更改函数中的变量?

时间:2019-11-20 23:41:52

标签: javascript

我正在尝试获取访客的操作系统,但看来我做错了事。

var OS = "N/A";

["windows", "linux", "mac"].forEach(function(item) {
    if(new RegExp(item).test(navigator.userAgent.toLowerCase())) {
        var OS = item;
    }
});

console.log(OS);

有什么帮助吗?

1 个答案:

答案 0 :(得分:5)

在重新声明变量时,需要在if条件中删除var。只有这样,您才能为外部变量分配一个新值。

var OS = "N/A";

["windows", "linux", "mac"].forEach(function Detect(item) {
    if(new RegExp(item).test(navigator.userAgent.toLowerCase())) {
        OS = item;
    }
});

console.log(OS);