js代码如下:
function User(id,name){//构造函数
//属性
this.id = id;
this.name = name;
this.friend = null;
//方法
this.introduce=function(){
alert("My name is "+this.name);
}
}
function test2(){
var jsonStr = '{"name":"Luffy","id":17}';
var user = JSON.parse(jsonStr);
alert(user.name);
user.introduce();
}
为什么从json转化过来的对象无法访问introduce方法
先不說json object呼叫的問題
test2裡的user跟你個構造函數根本沒半點關係啊!
json是一种数据类型,这么转肯定访问不到,前面那个function相当于js的一个类,直接对象访问就行
如何用对象直接访问,json对象也没有方法啊
@sunddenly: function User(id,name){//构造函数
//属性
this.id = id;
this.name = name;
this.friend = null;
//方法
this.introduce=function(){
alert("My name is "+this.name);
}
}
var user = new User(1,'aaa');
alert(user.introduce());
@sunddenly:
function User(id,name){//构造函数
//属性
this.id = id;
this.name = name;
this.friend = null;
//方法
this.introduce=function(){
alert("My name is "+this.name);
}
}
var user = new User(17,'Luffy');
user.introduce();
@LoveHe: 但这样根Json就没关系了,我的疑点是JSON转换js对象时,把对象方法也转过来
@sunddenly: 这没听过。。。你网上没搜过?
@sunddenly: var jsonStr = '{"name":"Luffy","id":17,"introduce":function(){
alert("My name is "+this.name);
}}';
var user = eval(jsonStr);
user.introduce();
你这样试试呢
@LoveHe: 这明显是Js对象
已经明白了,js对象和json对象两者没关系,要有关系必须通过其他方式进行转换
。。。。。。。。。。。。。。。。。。。。。