数组可以是对象集合,数组也可以是函数集合。
对象变化又过于灵活。所以要想深入学习,不在于语法,学会语法之后更需多加练习多加体会。
从 基本的对象方法、事件、属性
到 函数调用 匿名函数
到 JSON
到 函数套用 匿名函数套用 闭包
到 prototype
需要不断地学习和体会。
方法moveselect(obj,target,all):当all等於0的时候,把下拉框obj中选择的项添加到另一个下拉框target中,并在obj中删除.
当all不为0的时候,把下拉框obj中所有的元素都添加到target中,并删除所有obj的选项.
基本上画面是这样的:
左边 中间 右边
obj的下拉框(size>1) >(添加btn) target的下拉框(size>1)
>>(全部btn)
中间btn的事件:
>(添加btn):moveselect(obj,target,0)
>>(全部btn):moveselect(obj,target)或moveselect(obj,target,1)
sort函数执行时,会依次循环把数组里的两个数传递给函数f,这时候f的参数a和b就分别是传入的两个数,然后分别求出a和b除以2的余数(实际上就是判断a和b是奇数还是偶数,0是偶数,1是奇数)。如果a是偶数,函数f就返回1(或其他任何大于0的数),如果a是奇数且b是偶数就返回-1(或其他任何小于0的数)。sort函数根据f的返回值来对两个数进行排序,如果是大于0的数,就把两个数的值对调,如果是0或小于0的数则不做任何处理。这样的话,当数组中的所有元素都两两处理完毕后,最终就会形成奇数在前偶数在后的情况了。