有人可以发现这段代码出了什么问题,我的firebug控制台上出现了无效的标签错误。
<script type="text/javascript">
var a = function(){
this.prop1:"value1", //Error here
this.prop2:"value2"
}
var b = new a();
</script>
答案 0 :(得分:8)
试试这个:
var a = function() {
this.prop1 = "value1";
this.prop2 = "value2";
};
var b = new a();
:
仅在使用对象文字语法时使用。例如,如果a
类型的每个对象都具有这些属性,则可以在原型中设置它们:
var a = function() {
// ...
};
a.prototype = {
prop1: "value1",
prop2: "value2"
};
var b = new a();
alert(b.prop1); // alerts "value1"
请注意,效果通常相同,但重要意义不同(阅读原型,in
运算符和Object.hasOwnProperty()
等)。
答案 1 :(得分:2)
您没有定义对象,请改用=:
var a = function() {
this.prop1 = "value1";
this.prop2 = "value2";
}
答案 2 :(得分:0)
应该是'='不是':'
<script type="text/javascript">
var a = function(){
this.prop1="value1", //Error here
this.prop2="value2"
}
var b = new a();
</script>
希望这有帮助。
答案 3 :(得分:0)
应该是这样的。你应该使用等号,因为你没有定义一个对象,你在一个函数中。并且应该使用;在行尾没有,
var a = function(){ this.prop1 = "value1"; //Error here this.prop2 = "value2"; } var b = new a();