首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > JavaScript >

不怕死的就进来看看(最怪的代码)解决思路

2012-03-14 
不怕死的就进来看看(最怪的代码)JScript codescript typetext/javascriptYAHOO.example.Data {book

不怕死的就进来看看(最怪的代码)

JScript code
<script type="text/javascript">YAHOO.example.Data = {    bookorders: [        {id:"po-0167", date:new Date(1980, 2, 24), quantity:1, amount:4, title:"A Book About Nothing"},        {id:"po-0783", date:new Date("January 3, 1983"), quantity:null, amount:12.12345, title:"The Meaning of Life"},        {id:"po-0297", date:new Date(1978, 11, 12), quantity:12, amount:1.25, title:"This Book Was Meant to Be Read Aloud"},        {id:"po-1482", date:new Date("March 11, 1985"), quantity:6, amount:3.5, title:"Read Me Twice"}    ]}YAHOO.util.Event.addListener(window, "load", function() {    YAHOO.example.Basic = new function() {        var myColumnDefs = [            {key:"id", sortable:true, resizeable:true},            {key:"date", formatter:YAHOO.widget.DataTable.formatDate, sortable:true, sortOptions:{defaultDir:YAHOO.widget.DataTable.CLASS_DESC},resizeable:true},            {key:"quantity", formatter:YAHOO.widget.DataTable.formatNumber, sortable:true, resizeable:true},            {key:"amount", formatter:YAHOO.widget.DataTable.formatCurrency, sortable:true, resizeable:true},            {key:"title", sortable:true, resizeable:true}        ];        this.myDataSource = new YAHOO.util.DataSource(YAHOO.example.Data.bookorders);        this.myDataSource.responseType = YAHOO.util.DataSource.TYPE_JSARRAY;        this.myDataSource.responseSchema = {            fields: ["id","date","quantity","amount","title"]        };        this.myDataTable = new YAHOO.widget.DataTable("basic",                myColumnDefs, this.myDataSource, {caption:"DataTable Caption"});    };});</script>


这是全部的代码,可是有个地方就是总也看不明白

那就是:

  bookorders: [
  {id:"po-0167", date:new Date(1980, 2, 24), quantity:1, amount:4, title:"A Book About Nothing"},
  {id:"po-0783", date:new Date("January 3, 1983"), quantity:null, amount:12.12345, title:"The Meaning of Life"},
  {id:"po-0297", date:new Date(1978, 11, 12), quantity:12, amount:1.25, title:"This Book Was Meant to Be Read Aloud"},
  {id:"po-1482", date:new Date("March 11, 1985"), quantity:6, amount:3.5, title:"Read Me Twice"}
  ]
大家说,这个算是个数组吗?
JScript code
        {id:"po-0167", date:new Date(1980, 2, 24), quantity:1, amount:4, title:"A Book About Nothing"},        {id:"po-0783", date:new Date("January 3, 1983"), quantity:null, amount:12.12345, title:"The Meaning of Life"},        {id:"po-0297", date:new Date(1978, 11, 12), quantity:12, amount:1.25, title:"This Book Was Meant to Be Read Aloud"},        {id:"po-1482", date:new Date("March 11, 1985"), quantity:6, amount:3.5, title:"Read Me Twice"}

这一段有点像是个数组,像个多维数组,可我就是取不了它的值
请高手来帮我解这个困难!必重分相谢!

[解决办法]
是个对象数组啊
JScript code
for(var i=0; i<YAHOO.example.Data.bookorders.length; i++){  alert(YAHOO.example.Data.bookorders[i].id); }
[解决办法]
对象xxx的bookorders属性是数组
bookorders[0]是对象{id:"po-0167", date:new Date(1980, 2, 24), quantity:1, amount:4, title:"A Book About Nothing"}
alert(xxx.bookorders[0].id) //po-0167


alert(xxx.bookorders[0].date)
...
alert(xxx.bookorders[0].title)

类似

alert(xxx.bookorders[1].id) //po-0783
...

[解决办法]
顶下三楼
别忘了外面还有个大括号哦
[解决办法]
这个是JSON格式的吧,看开始YAHOO.example.Data就应该知道是YUI的应用了
如果你用过EXT(基于YUI)的话,那就会懂这样写的目的了
这个是定义了一个grid,里面显示的数据就是YAHOO.example.Data中定义的数据了
[解决办法]
应该就是对象数组,没有太多问题都
[解决办法]
我还以为什么怪问题呢。首先需要说明的一点就是
{<属性名称/方法名称>[,<属性名称/方法名称>]}这种格式是js中定义对象的一种方法叫json
bookorders: [...] 可以这么理解
bookorders是YAHOO.example.Data 对象的一个属性,为一数组。数组中每一项为用json格式定义的对象。
若要访问bookorders的数据可以这样
alert(YAHOO.example.Data.bookorders[i].id);

[解决办法]
http://www.ibm.com/developerworks/cn/web/wa-ajaxintro10/
http://www.json.org
[解决办法]
json格式的对象数组 
结果就是
bookorders[0][id] = po-0167;
[解决办法]
JSON的对象数组
[解决办法]
JSON 格式是 Javascript 内部支持的
[解决办法]
http://www.json.org
[解决办法]

探讨
btd ?

热点排行