js中最难的部分

JavaScript015

js中最难的部分,第1张

最难的是函数是对象,函数又不仅仅是对象,还可以做面向对象中的类使用。

数组可以是对象集合,数组也可以是函数集合。

对象变化又过于灵活。所以要想深入学习,不在于语法,学会语法之后更需多加练习多加体会。

从 基本的对象方法、事件、属性

到 函数调用 匿名函数

到 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的数则不做任何处理。

这样的话,当数组中的所有元素都两两处理完毕后,最终就会形成奇数在前偶数在后的情况了。