javascript constructor function not giving correct result -


i newbie js. trying use constructor function create object. here code

    function player(name,age,rank) {      this.name=name;     this.age=age;     this.rank=rank;     this.sayeverything=function()     {          return "the name of player " + this.name + "the age " + this.age + "the rank " + this.rank;      } 

now adding new property this

player.matchready=true; 

now create object this

var kaka=new player("kaka",22,3,false); 

and when write this

document.write('kaka match ready-->' + kaka.matchready); 

it gives me output kaka match ready-->undefined

why giving me undefined?? haven't added new property correctly??please tell me. thanks.

instead of player.matchready=true;

do, player.prototype.matchready = true;

this way players have match ready default on true;

also might want put function prototype.

player.prototype.sayeverything=function()     {          return "the name of player " + this.name + "the age " + this.age + "the rank " + this.rank;      } 

you can regard prototype scaffolding on outline properties , functions object should have when it's instantiated. these default values same objects.

when add functions within functions these functions duplicated in memory when instantiate new object.

when possible , when there no need scoping, try add generic functions sayeverything()(please rename tostring() keep in line convention) prototype.

that way player objects can use same function. more memory efficient.


Comments

Popular posts from this blog

Magento/PHP - Get phones on all members in a customer group -

php - .htaccess mod_rewrite for dynamic url which has domain names -

Website Login Issue developed in magento -