在对象中创建临时JavaScript变量
我要做的是停止显示id值。是否有一种方法可以使id变量transient。在对象中创建临时JavaScript变量,javascript,oop,Javascript,Oop,我要做的是停止显示id值。是否有一种方法可以使id变量transient。 请提供帮助如果不需要枚举此属性,则可以使用属性: 函数播放器(名称) { 这个。_name=name; Object.defineProperty(这个“.\u id”{ 可枚举:false }); }; var newUnitName=“Foo”; var newPlayer=新玩家(newUnitName); 警报(JSON.stringify(newPlayer))每个对象都有一个方法to
请提供帮助如果不需要枚举此属性,则可以使用属性:
函数播放器(名称)
{
这个。_name=name;
Object.defineProperty(这个“.\u id”{
可枚举:false
});
};
var newUnitName=“Foo”;
var newPlayer=新玩家(newUnitName);
警报(JSON.stringify(newPlayer))代码>每个对象都有一个方法toJSON()
,当应该使用JSON.stringify()
序列化对象时,会调用该方法
从JSON.stringify()开始:
如果正在字符串化的对象具有名为toJSON
的属性,其值
是一个函数,则toJSON()
方法自定义JSON
字符串化行为:不是序列化对象,而是
调用时,toJSON()
方法返回的值将被序列化
以下示例创建了一个不同的序列化函数,该函数将排除\u id
:
function Player(name)
{
this._name = name;
this._id = "Player"+(Player_ID++);
};
var newPlayer = new Player(newUnitName);
alert(JSON.stringify(newPlayer));
检查工作情况。我们如何访问console.log(newPlayer.\u id)
的可能重复项?
var Player_ID = 0;
function Player(name) {
this._name = name;
this._id = "Player"+(Player_ID++);
this.toJSON = function() {
return {
_name: this._name
};
};
};
var newPlayer = new Player('Name 1');
console.log(JSON.stringify(newPlayer)); // prints {"_name": 'Name 1'}