admin管理员组

文章数量:1326036

Using Firefox, working on a Firefox extension, I continually get a javascript warning:

reference to undefined property mySidebar.contextProgress

I have tried multiple ways of testing the value:

if (mySidebar.contextProgress === undefined) {

And

if (typeof mySidebar.contextProgress == "undefined") {

And

if (!mySidebar.contextProgress) {

And

if (mySidebar.contextProgress == undefined) {

However the error console in Firefox continues to give me the warning on the same line every time, the line in question is the line that I posted the code from above. The actual check for the value is causing the warning.

I also put an alert to check the value of mySidebar.context, which is always an object, so it is not from the parent that I'm getting the warning.

Any ideas?

Using Firefox, working on a Firefox extension, I continually get a javascript warning:

reference to undefined property mySidebar.contextProgress

I have tried multiple ways of testing the value:

if (mySidebar.contextProgress === undefined) {

And

if (typeof mySidebar.contextProgress == "undefined") {

And

if (!mySidebar.contextProgress) {

And

if (mySidebar.contextProgress == undefined) {

However the error console in Firefox continues to give me the warning on the same line every time, the line in question is the line that I posted the code from above. The actual check for the value is causing the warning.

I also put an alert to check the value of mySidebar.context, which is always an object, so it is not from the parent that I'm getting the warning.

Any ideas?

Share Improve this question asked Sep 24, 2010 at 16:54 PurgePurge 6474 silver badges12 bronze badges 1
  • You could also just set it to null at browser startup. – Tyler Commented Sep 25, 2010 at 3:17
Add a ment  | 

2 Answers 2

Reset to default 6

As Swingley said, you can use Object.prototype.hasOwnProperty() to check for existence of a direct property on an object. This won't work for properties inherited from the prototype chain, however. For both situations, inherited and direct, you can use the in operator:

if ("netProgress" in mySidebar.context) {

Try object.hasOwnProperty()

if (mySidebar.context.hasOwnProperty("netProgress")) {

本文标签: firefoxjavascript reference to undefined propertyStack Overflow