javascript - javascript专业人士的基本问题
问题描述
我创建了这个函数,只有当 goerror 变量 = 0 时才起作用。也就是说,如果变量是 goerror = 1,它会执行 regad() 函数吗?
var goerror = 0;
player.on('adserror', function() {
var goerror = 1;
});
if(goerror == 0){
player.on('adstart', function() {
regad();
});
player.on('adplaying', function() {
regad();
});
}
解决方案
您在更新值时再次在函数内部重新声明 geoerror,这不会对全局变量进行任何更改
您不应该在编写事件处理函数之前检查地理错误,因为最初它不会运行,相反您可以在事件处理程序执行时检查这个,检查下面的代码
var goerror = 0;
player.on('adserror', function() {
goerror = 1;
});
player.on('adstart', function() {
if(goerror == 0)
regad();
});
player.on('adplaying', function() {
if(goerror == 0)
regad();
});
推荐阅读
- python - 如何在条件变为真后立即获取下一个值?
- django-rest-framework - 自定义嵌套序列化程序和查找
- facebook - Flutter:如何在使用 flutter_facebook_login 登录时隐藏进度圈
- javascript - 使用数据表创建可搜索的图片库
- xslt - 选择字符串中的第一个空格
- python - 我应该如何使用pygame连续旋转图像?
- maven - 不从特定于项目的 maven nexus 设置中检索 jars
- javascript - 为什么使用正则表达式验证密码失败?
- python - 在网站上发送 Twilio 短信后重定向到网页/但如果通过手机发送短信则不重定向
- google-sheets - 我的以日期为条件的 IF 公式不起作用