首先,回到第一篇。使用Ext.apply为Ext对象添加了一些属性,
Ext.apply(Ext, {
...
USE_NATIVE_JSON : false,
...
});
USE_NATIVE_JSON 即为其中之一, 可以使用它来设置是否开启浏览器原始的JSON(即JSON.parse,JSON.stringify)来解析或反解析。这是ECMA5中加入的,在 字符串转换成JSON的三种方式中已经提到。
该值初始为false,即不开启。设置为true则开启如
Ext.USE_NATIVE_JSON = true;
Ext.util.JSON 内部定义了一些私有方法,对外公开的有三个方法
encodeDate 将日期对象转成字符串
encode 将JS对象转成字符串
decode 将字符串转成JS对象
此外,encode和decode分别赋值给了Ext.encode和Ext.decode。如
Ext.encode = Ext.util.JSON.encode;
Ext.decode = Ext.util.JSON.decode;
即开发时可以使用更简短的Ext.encode和Ext.decode而非冗长的Ext.util.JSON.encode和Ext.util.JSON.decode。