在Javascript对象中使用HTML5音频
当我运行以下命令时在Javascript对象中使用HTML5音频,javascript,html,this,Javascript,Html,This,当我运行以下命令时 var obj = { array: ['1.mp3', '2.mp3', '3.mp3'], audio: new Audio(this.array[0]) }; var obj = { array: ['1.mp3', '2.mp3', '3.mp3'], }; var audio = new Audio(this.obj.array[0]); …我收到一个错误,表示它无法读取未定义的属性“0”。但是,当我运行以下命令时 var obj =
var obj = {
array: ['1.mp3', '2.mp3', '3.mp3'],
audio: new Audio(this.array[0])
};
var obj = {
array: ['1.mp3', '2.mp3', '3.mp3'],
};
var audio = new Audio(this.obj.array[0]);
…我收到一个错误,表示它无法读取未定义的属性“0”。但是,当我运行以下命令时
var obj = {
array: ['1.mp3', '2.mp3', '3.mp3'],
audio: new Audio(this.array[0])
};
var obj = {
array: ['1.mp3', '2.mp3', '3.mp3'],
};
var audio = new Audio(this.obj.array[0]);
…一切都很顺利。如何修复第一个示例?我是不是做错了这个
如何修复第一个示例?我是不是做错了这个
你不能。对象尚未创建,因此您无法使用此
但是你可以这样做
var obj = {
array: ['1.mp3', '2.mp3', '3.mp3'],
}; // object now created
obj.audio = new Audio(this.obj.array[0]); // set the property.
请注意,您可以参考此
来参考函数内部的obj
,但不能在函数外部
var obj = {
prop: (console.log(this), "Some value") // most probably Window but never obj
func: function(){
console.log(this); // obj
}
}
如何修复第一个示例?我是不是做错了这个
你不能。对象尚未创建,因此您无法使用此
但是你可以这样做
var obj = {
array: ['1.mp3', '2.mp3', '3.mp3'],
}; // object now created
obj.audio = new Audio(this.obj.array[0]); // set the property.
请注意,您可以参考此
来参考函数内部的obj
,但不能在函数外部
var obj = {
prop: (console.log(this), "Some value") // most probably Window but never obj
func: function(){
console.log(this); // obj
}
}
如何修复第一个示例?我是不是做错了这个
你不能。对象尚未创建,因此您无法使用此
但是你可以这样做
var obj = {
array: ['1.mp3', '2.mp3', '3.mp3'],
}; // object now created
obj.audio = new Audio(this.obj.array[0]); // set the property.
请注意,您可以参考此
来参考函数内部的obj
,但不能在函数外部
var obj = {
prop: (console.log(this), "Some value") // most probably Window but never obj
func: function(){
console.log(this); // obj
}
}
如何修复第一个示例?我是不是做错了这个
你不能。对象尚未创建,因此您无法使用此
但是你可以这样做
var obj = {
array: ['1.mp3', '2.mp3', '3.mp3'],
}; // object now created
obj.audio = new Audio(this.obj.array[0]); // set the property.
请注意,您可以参考此
来参考函数内部的obj
,但不能在函数外部
var obj = {
prop: (console.log(this), "Some value") // most probably Window but never obj
func: function(){
console.log(this); // obj
}
}
问题在于在构造函数内部使用this
:它不是指obj
,而是指新的音频对象。您将无法使用this
从那样的对象内部引用它。问题是在构造函数内部使用this
:它不是指obj
,而是指新的音频对象。您将无法使用this
从那样的对象内部引用它。问题是在构造函数内部使用this
:它不是指obj
,而是指新的音频对象。您将无法使用this
从那样的对象内部引用它。问题是在构造函数内部使用this
:它不是指obj
,而是指新的音频对象。您将无法使用此
从那样的对象内部引用它。执行相同操作的另一种方法如下:
var-refArray=['1.mp3','2.mp3','3.mp3'];
var myObj={
数组:['1.mp3','2.mp3','3.mp3'],
音频:新音频(this.obj.array[0]);
};代码>
这与其他答案中所述的操作相同,但允许您在定义myObj变量时添加音频对象(作为myObj的属性)。另一种执行相同操作的方法如下:
var-refArray=['1.mp3','2.mp3','3.mp3'];
var myObj={
数组:['1.mp3','2.mp3','3.mp3'],
音频:新音频(this.obj.array[0]);
};代码>
这与其他答案中所述的操作相同,但允许您在定义myObj变量时添加音频对象(作为myObj的属性)。另一种执行相同操作的方法如下:
var-refArray=['1.mp3','2.mp3','3.mp3'];
var myObj={
数组:['1.mp3','2.mp3','3.mp3'],
音频:新音频(this.obj.array[0]);
};代码>
这与其他答案中所述的操作相同,但允许您在定义myObj变量时添加音频对象(作为myObj的属性)。另一种执行相同操作的方法如下:
var-refArray=['1.mp3','2.mp3','3.mp3'];
var myObj={
数组:['1.mp3','2.mp3','3.mp3'],
音频:新音频(this.obj.array[0]);
};代码>
这与其他答案中所述的操作相同,但允许您在定义myObj变量时添加音频对象(作为myObj的属性)。如果我错了,请纠正我,但我在web上看到过许多Javascript示例,在对象定义完成之前,使用this
引用对象中的其他函数。一个这样的例子是audio.js的源代码:我明白了。谢谢你的澄清。如果我错了,我会接受的。@JaredCubilla很乐意帮助:)如果我错了,请纠正我,但我在web上看到过很多Javascript示例,在对象定义完成之前,在对象中使用this
引用对象中的其他函数。一个这样的例子是audio.js的源代码:我明白了。谢谢你的澄清。如果我错了,我会接受的。@JaredCubilla很乐意帮助:)如果我错了,请纠正我,但我在web上看到过很多Javascript示例,在对象定义完成之前,在对象中使用this
引用对象中的其他函数。一个这样的例子是audio.js的源代码:我明白了。谢谢你的澄清。如果我错了,我会接受的。@JaredCubilla很乐意帮助:)如果我错了,请纠正我,但我在web上看到过很多Javascript示例,在对象定义完成之前,在对象中使用this
引用对象中的其他函数。一个这样的例子是audio.js的源代码:我明白了。谢谢你的澄清。当我能接受时,我会接受的。@JaredCubilla很乐意帮忙:)