首页 > 这段js代码,是如何运行的,求解答

这段js代码,是如何运行的,求解答

下面的代码是如何运行的呢?
刚刚学习js,看这些代码看得一头雾水

    var page1={
        _onOp:"",_bindEvent:"",leave:"",init:"",unload:""
    }

为何是这样子写的,他们是怎么运行的呢

  var page1 = {

        _onOp: null,

        _bindEvent: function() {

            var pressTimeoutId = 0,
                fingerEl = $('.page1 .finger'),
                that = this;

            fingerEl.bind('touchstart', function(e) {

                e.preventDefault();
                e.stopPropagation();

                fingerEl.addClass('active');

                pressTimeoutId && clearTimeout(pressTimeoutId);
                pressTimeoutId = setTimeout(function() {
                    fingerEl.addClass('done');
                    that._onOp && that._onOp();
                }, 3000);

                return false;

            }).bind('touchend', function(e) {

                e.preventDefault();
                e.stopPropagation();

                fingerEl.removeClass('active');
                pressTimeoutId && clearTimeout(pressTimeoutId);

                return false;
            });

            return this;
        },

        leave: function(callback) {

            $('.page1').addClass('leave');

            callback && setTimeout(callback, 4000);

            return this;
        },

        init: function(onOp) {
            this._onOp = onOp;
            return this._bindEvent();
        },

        unload: function() {

            $('.page1 .finger').unbind('touchstart touchend');
            $('.page1').remove();

            return this;
        }
    };

都是这样写的呀。
object = {
key: value,
key: value
}

value可以是函数。value如果是函数。就全部是匿名函数。
基本的定义呀。


这其实就是 对象 只是 对象 里的属性值复杂了点

比如第二段代码运行后你就可以 page1.init(1); 这样运行


javascript 中函数也是对象,可以做为右值赋给一个变量或属性

var page1={
        _onOp:"",_bindEvent:"",leave:"",init:"",unload:""
}

通过字面量的方式定义的 一个对象
当然你可以通过如下方式定义:

var page1=new Object();
page1._onOp="";
page1._bindEvent="";
page1.leave="";
page1.init="";
page1.unload=function(){

};
【热门文章】
【热门文章】