Javascript函数参数的返回值
Return value from function parameter in Javascript
我正在尝试使用fingerprintjs2 javascript库,以获取浏览器指纹。
下面的代码可以正常工作:
new Fingerprint2().get(function (result) {
var output = result;
document.write(output);
});
但是,我想在这个块之外设置一个变量,以便以后使用,例如:
var output;
new Fingerprint2().get(function (result) {
output = result;
});
document.write(output);
但是在这个例子中我得到了输出:
undefined
我猜这与作用域有关,所以有没有办法在外部作用域中设置变量,或者我是否需要将以下所有代码放在这个函数调用中?
我读过其他关于获得嵌套函数值的问题,但在这种情况下似乎都不起作用。
你不应该这样做。我正在用ES6编写代码。
let Fingerprint2Obj = new Fingerprint2().get(function (result) {
let obj = {
output: result
}
return obj;
});
你不能在函数外调用var,如果你通过对象或字符串发送它,则使用实例。document . write (Fingerprint2Obj.output);
这不起作用,因为您在异步get返回之前打印输出。
试试这个:
var output;
var callbackFunction = function(result) {
output = result;
document.write(output);
//do whatever you want to do with output inside this function or call another function inside this function.
}
new Fingerprint2().get(function (result) {
// you don't know when this will return because its async so you have to code what to do with the variable after it returns;
callbackFunction(result);
});
相关文章:
- 我如何才能继续'如果'语句来比较作为参数的多个函数返回值
- 将返回值作为主干视图方法之间的参数传递
- 将一个函数作为参数传递给另一个函数,每次调用函数时检查返回值
- 按参数更改函数的返回值
- 使用参数调用 javascript 函数并在页面加载中读取返回值
- 使用isNan()函数将参数从html传递给javascript,并检查值然后返回值
- 传递一个promise的返回值作为另一个的参数
- 使用不同的参数多次调用同一函数.完成时:在其他函数中使用每个返回值
- 在 javascript 中获取函数返回值作为参数
- 如何打印或调用一个具有多个参数的函数的返回值
- 返回作为参数传入的函数的值
- 文档集合(类型数组)在JSDoc中返回值和参数
- 从函数返回值作为jQuery参数的值
- 是否有某种方式,我可以传递一个辅助函数的返回值到另一个作为Handlebars参数
- 在jquery的另一个函数参数中使用返回值
- JavaScript缓存返回值的函数有多个参数
- Javascript函数参数的返回值
- JavaScript传递函数参数和返回值
- 带参数的调用函数和带其他参数返回值的调用函数有什么不同
- 如何在 JSDoc 中将对象数组指定为参数或返回值