将字符串转换为JS对象
Convert string to JS object
我知道这是一个重复的问题,但我不知道在我的情况下该怎么做。我想使用JS Buzz库播放音频。请检查以下
var pg1 = new buzz.sound("oimages/music/as.mp3");
var pg2 = new buzz.sound("oimages/music/zx.mp3");
var pg3 = new buzz.sound("oimages/music/as.mp3");
在某个事件中,我想播放此音频。这里的1、2和3是页码。请检查以下
$("#flipbook").bind("turned", function (event, page, view) {;
bog ='pg'+page; // page is the number of page here
window.bog.play(); //error
});
它给了我以下错误
未捕获的类型错误:window.bog.play不是函数
请引导。
因为bog ='pg'+page;
是一个字符串,而不是对声音文件的引用。
你需要参考声音,假设它们在全球范围内,你可以使用括号符号
var bog = window['pg'+page];
简单的错误。您试图错误地引用变量。bog
不是名称,但它包含名称。。。
$("#flipbook").bind("turned", function (event, page, view) {;
bog ='pg'+page; // page is the number of page here
window[bog]play(); //error
});
这假设pg1..3
变量具有全局作用域。如果他们不这样做,那么将声明更改为…
window.pg1 = new buzz.sound("oimages/music/as.mp3");
等等。。
评估就可以了:
$("#flipbook").bind("turned", function (event, page, view) {;
bog ='pg'+page;
eval('window.' + bog + '.play()');
});
相关文章:
- 查看JS对象的所有键,甚至是getter定义的键
- 在URL中传递JS对象
- 当属性不一致时,如何根据属性对JS对象列表进行排序
- JS对象密钥序列
- 在ajax调用中阻止来自JS对象的函数
- 属性未添加到JS对象
- 将字符串转换为JS对象
- 使用lodash查找具有truthy值的JS对象的属性
- 将toString方法暴露给nashorn中的js对象
- JSON数组转换为JS对象数组
- 将js对象更改为使用嵌套的可观察数组敲除js视图模型
- 设置1400个Raphael.js对象的不透明度动画会影响动画性能
- 以非ajax方式将js对象传递给mvc操作
- JS对象->来自jquery ajax的JSON提交->php迭代
- XMLHttpRequest发送JS对象
- 使用游标循环将JS对象添加到数组中
- 动态(重新)创建iframe内容不会重置Chrome中的JS对象
- 将JS对象数组转换为嵌套形式的最有效方法
- 在知道对象值的情况下,确定数组中JS对象的索引
- JS对象文字中的方法和子方法