Web 技术研究所

我一直坚信着,Web 将会成为未来应用程序的主流

袋子与盒子的概念

  袋子与盒子都是盛放东西的容器,它们之间的区别是边界是否固定。人们既然发明了这些就说明它们一定有自己的用处。有些东西适合放在袋子里,有些东西适合放在盒子里。在编程语言中,我们定义的容器实际上也有这个问题,所以要搞清袋子和盒子的概念。
  袋子与盒子
  市面上卖的鸡蛋主要有散装、兜装、盒装,这几中。散装的鸡蛋通我们通常会用袋子去装,这和兜装的鸡蛋一样。而盒装的鸡蛋就不同,它是用一个盒子来约束每一个鸡蛋的位置。

  这有很大的区别,盒装的鸡蛋是有序的,而袋装的鸡蛋是无序的。如果每个鸡蛋都有编号,要取出某一个特定的鸡蛋,从盒装的鸡蛋中就很容易做到,而袋装的就会遇上点麻烦。考虑散装的鸡蛋。如果只买一个鸡蛋,袋子也能很容易装下,但是一个鸡蛋就用盒子装是不是太浪费了呢?如果买1000个鸡蛋,用袋子装就不行了,袋子不适合装那么多东西,用盒子装会更有优势(当然这个盒子的结构会比较特殊)。
  袋子适合装量少而无序的东西,盒子适合装量多而有序的东西。对于其它情况就要考虑盒子或袋子带来的更多实际影响。比如盒装鸡蛋比较容易装箱与携带,而袋装的成本低体积小。
  UL与OL
  HTML中的UL与OL显然就是袋子与盒子的概念。如果一个列表项只有一个元素,这时用OL就会让人觉得很奇怪,因为盒子不适合装少量的东西。如果列表元素很多时用UL就会让人看晕,因为袋子不适合装大量的东西。UL本身就是无序的,也就是袋子无序的性质。而OL是有序的,这完全符合盒子的概念。
  数组元素的分隔符
  当我们定义一个数组并赋予一串初始元素时,这些元素会在中括号中用逗号分割
var 一袋鸡蛋=["鸡蛋","鸡蛋","鸡蛋","鸡蛋"];   每一项中只有数据,逗号只是用于分割数据的,这是袋子的概念。也许数组本身是有序的,但这不要紧。袋子中的鸡蛋是紧挨着的,就像上面这个数组初始化,中间的逗号只是作为逻辑上的分隔符而已。它具有袋子的其它性质,这样的写法不适合在元素较多的情况下使用。
  如果数组的项目有很多,我们通常就不会这样把它堆在同一行。现代浏览器中不解析空项,所以可以把逗号作为每个项的结束符来构造出一个盒子的概念。
var 一盒鸡蛋=[
  "鸡蛋",
  "鸡蛋",
  "鸡蛋",
  "鸡蛋",
  "鸡蛋",
];
  逗号是项的一部分,它作为项的结束符。这样每一项都有固定的规格“数据,”来约束,所以即使有较多的项也不容易混乱。当然,低版本IE不支持这种写法,在低版本IE(IE8-)的概念中,数组初始化永远是袋子的概念。
网名:
3.84.186.*
电子邮箱:
仅用于接收通知
提交 悄悄的告诉你,Ctrl+Enter 可以提交哦
神奇海螺
[查看全部主题]
各类Web技术问题讨论区
发起新主题
本模块采用即时聊天邮件通知的模式
让钛合金F5成为历史吧!
次碳酸钴的技术博客,文章原创,转载请保留原文链接 ^_^