r.serialize = function(a) {
return String(a)
};
r.deserialize = function(a) {
if (typeof a != "string") {
return undefined
}
return a
};这是两个自定义的串行化和反串行化函数,但是我不明白是什么意思。
串行化里面是实例化一个字符串吗?
反串行化方法里返回的不也是一个字符串吗?JavaScript函数串行化
return String(a)
};
r.deserialize = function(a) {
if (typeof a != "string") {
return undefined
}
return a
};这是两个自定义的串行化和反串行化函数,但是我不明白是什么意思。
串行化里面是实例化一个字符串吗?
反串行化方法里返回的不也是一个字符串吗?JavaScript函数串行化
serialize中a应该是对象object类型,把object转string.
deserialize判断a 的类型是否是string,如果不是则返回未定义,反之返回a。可以去看一下javascript中的几大类型,string int undefined Nan object我记的这些,可以去百度下。
var r={};//创建对象R
r.m = function(a) {//给r对象定义方法m,接收1个参数
return String(a)//返回这个参数将其变为字符串类型
};
r.n = function(a) {//给r对象定义方法m,接收1个参数
if (typeof a != "string") {//若a不是字符串型
return undefined//返回未定义
}
return a//这里表示a是字符串型
};
</script>
你这样。
先传过去一个变量var a=5; 调用n,因为此时5是number类型,所以应该返回undefined.你可以把n返回值改成alert(unfined)
之后调用m,这样5就变成了"5",
最后调用n,这回的返回值就应该是"5"而不是undefined