javascript - Javascript 在带有参数的函数内声明全局变量
问题描述
问题:我想在函数内部创建一个变量作为全局变量
这有效:
var x;
function myFunction() {
x = 999;
}
myFunction();
console.log(x);
但是这个在尝试从 API Result 声明一个全局变量时不起作用
webOS.service.request(url, {
onSuccess: function (data) {
var serial = data.idList[0].idValue;
var udid = serial; // This is the variable that I want
callback(udid); // Trying to get this udid out of this API call
},
});
var sn;
function callback(udid) {
sn = udid; // I want this as my global variable
}
callback(udid); // produces an error which says udid not defined
console.log(sn); // undefined
如何将 var sn 作为全局变量?提前致谢
解决方案
这是因为udid
没有在你调用的范围内定义callback
- 你callback
在你的onSuccess
函数中调用,所以你不需要再次调用它。您还需要将您的功能console.log
放入您的callback
函数中:
webOS.service.request(url, {
onSuccess: function (data) {
var serial = data.idList[0].idValue;
var udid = serial; // This is the variable that I want
callback(udid); // Trying to get this udid out of this API call
},
});
var sn;
function callback(udid) {
sn = udid; // I want this as my global variable
console.log(sn);
}
推荐阅读
- java - java减少mouseMotionListener间隔之间的时间
- html - 输入与跨度 HTML
- python-3.x - Python - 以百分比计算词频
- python - 从列表中弹出并从函数中减去(Hangman)
- if-statement - 如何在詹金斯脚本化管道作业中使用布尔参数编写条件步骤?
- ios - iOS WKWebView 检测何时到达底部
- java - onTouchListener 不接受布局
- javascript - 如何插入背景图像以响应整个屏幕?
- android - 离线用户能否在 Firebase 实时数据库中执行特定于其 uid 的数据库事务?
- c# - 在 Visual Studio 2017 中加载机器人框架模板