js 对象类型 (对象的属性 ,对象的方法) this 关键字

时间:2022-06-11 16:59:46

$(function () {

var observation = {

  init: function () {

  this.render();//断点:this bind :function() check_length: function () init: function () render: function () update_checked: function () save_observation: function ()

  this.bind(); //断点:  this bind :function() check_length: function () init: function () render: function () update_checked: function () save_observation: function () date_container:r.fn.init[1] radio:r.fn.init[5]                                        remarks:r.fn.init[1]  submit_btn:r.fn.init[1]

  },

  render: function () {

    window.now = new Date();

    this.submit_btn = $(':button');

    this.radio = $('.type-radio');

    this.date_container = $('#date-picker-date');

    this.remarks = $('#remarks');

  },

  bind: function () {

    var t = this;//t 代表 observation 对象

    this.submit_btn.click(function () {

    t.save_observation(); //如果这里边是this的话 代表不了observation 对象 因此就找不到save_observation()了 this代表当前的按钮 在绑定的事件函数中 this代表绑定的按钮

  });

  this.radio.click(function () {

    t.update_checked(this);

  });

  $('#date-picker-date').date({beginyear: now.getFullYear(), theme: 'datetime'});//初始化date选择器

    this.remarks.bind('input', function () { t.check_length(this);

  });

},

  check_length: function (obj) {//检查备注输入的长度 },

  update_checked: function (obj) { },

  save_observation: function () {//保存数据到服务器 }

};

observation.init();

});