我无法弄清楚为什么我在Firefox 34中使用Firebug 2.0.7获得以下控制台错误。这是一个简单的代码块。它在Safari,Chrome和IE中运行良好。
"错误:拒绝访问属性'类别' myscript.js(第7行)"
var MyMaterials = function() {
var category, material;
return console.dir(this);
}
record_1 = new MyMaterials;
record_1.category = "Clear Film";
record_1.material = "Opticlear PC 5000";
console.log(record_1.category);
console.log(record_1.material);
答案 0 :(得分:2)
解决方案很简单。停止返回console.dir(this)
。
当您在构造函数中返回非基元时,您将获得该值而不是对象实例。 console.dir
返回一些不是对象实例的其他对象并抛出此错误,至少在Firebug中,本机开发人员工具似乎没有这个问题。
固定代码:
var MyMaterials = function() {
var category, material;
console.dir(this);
}
record_1 = new MyMaterials;
record_1.category = "Clear Film";
record_1.material = "Opticlear PC 5000";
console.log(record_1.category);
console.log(record_1.material);