js如何面向对象?

2016/12 01 09:12
此文章不得转载,如有需要请联系网站管理员。

一度的温暖,一百度的爱情,来自于bwin2299必赢亚洲的点点滴滴

各位长辈,小弟经过阅读高程,理解了创立东西的几种方法和承继的完成原理,但是怎样将东西创立、承继使用到面向东西的编程实际中呢?
比如我写了以下代码,是一个旧事转动播出的服从,我该怎样将其“面相东西呢”?
又或许说,我该怎样转化?

!functionwindow,document{
    var list=document.querySelector".scroll-item",//ul,作为横向移动的容器
        list_item=document.querySelectorAll".scroll-items",//li,作为内容
        list_item_len=list_item.length,
        isSupportTransform="transform" in document.documentElement.style||"webkitTransform" in document.documentElement.style||"mozTransform" in document.documentElement.style||"msTransform" in document.documentElement.style,
        timer=null,
        i=0,
        j=0,
        n=0,
        offset_n=1,
        arr=[],
        offsetMargin=0,
        list_width=0,
        sp_time=30;
    function bindEvobj,evName,fn{
        //绑定函数
        ifwindow.addEventListener{
            obj.addEventListenerevName,fn;
        }else{
            obj.attachEvent"on"+evName,fn;
        }
    }
    function fireEvobj,evName,fn{
        ifwindow.removeEventListener{
            obj.removeEventListenerevName,fn;
        }else{
            obj.detachEvent"on"+evName,fn;
        }
    }
    function initWidth{
        var i=0;
        for;i<list_item_len;i++{
            !functioni{
                list_item[i].index=i;
                arr.pushlist_item[i].offsetWidth;
                list_width+=arr[i];
            }i;
        }//for
        list.innerHTML+=list.innerHTML;//为了完成无缝又复制了一遍内容
        list.style.width=list_width*2+"px";
        setTimer;
    }

    function cleanTimer{
        iftimer{
            clearIntervaltimer;
            timer=null;
        }
    }
    function setTimer{
        cleanTimer;
        timer=setIntervaltmpTimer,sp_time;
    }

    function tmpTimer{
        n+=offset_n;
        ifn>=list_width{
            n=0;
        }
        render;
    }
    
    function listMouseOverev{
        var e=ev||window.event,
            _target=e.target||e.srcElement;
        if_target.nodeName.toLowerCase=="li"||_target.nodeName.toLowerCase=="a"{
            cleanTimer;
        }
    }
    function listMouseLeave{
        setTimer;
    }
    function render{
        ifisSupportTransform{
            list.style.transform="translate3d"+-n+"px,0,0";
            list.style.webkitTransform="translate3d"+-n+"px,0,0";
            list.style.mozTransform="translate3d"+-n+"px,0,0";
            list.style.msTransform="translate3d"+-n+"px,0,0";
        }else{
            list.style.left=-n+"px";
        }
    }
    initWidth;
    bindEvlist,"mouseover",listMouseOver;
    bindEvlist,"mouseleave",listMouseLeave;
    // console.logarr,list_width;
}window,document

https://github.com/jsfront/qa…

比起面向东西,JS更合适函数式编程。

面向东西只不过是想要他的那种作风,特性。不是说怎样写便是了。面向东西,面向进程,都是看题目才去选用的。本来就需求一个四舍五入的函数,应急,你就没有需要做一个Math类

= 换成 :

OBJ={
   v:1, //变量
   fireEv:functionobj,evName,fn{....}, //函数
}
OBJ.fireEvobj,evName,fn //调用

(看完/读完)这篇文章有何感想! 来看看bwin2299必赢亚洲是怎么评论的吧!

--转载请注明: bwin2299必赢亚洲_www.bwin2299.com_bwin2299必赢亚洲世界顶级公司 » js如何面向对象?

发表评论

(必填)