If you get this text in an alert:
function(){return JSON.encode(this);}
when you try alert(myArray[i]), then there are a few possibilities:
- myArray[i] is a function (most likely)
- myArray[i] is the literal string "function(){return JSON.encode(this);}"
- myArray[i] has a .toString() method that returns that function or that string. This is the least likely of the three.
The simplest way to tell would be to check typeof(myArray[i]).