跟踪对象属性值的修改, 设置断点(Break on property change)

  • 代码
    •   
      //Break on property change
      (function () {
          var localValue;
      
          Object.defineProperty(targetObject, 'propertyName', {
              get: function() { //any access to the target property will call this method
                  return localValue;
              },
              set: function(val) { //any modification to the target property will call this method
                  debugger;
      localValue = val; } }); }());

       

  • Object.defineProperty
    • reference
    • Object.defineProperty是ECS5属性,所以IE8以下无效
    • 实际应用例子
      • 数据双向绑定
        •   
          Object.defineProperty(demo,'foobar',{
            get:function(){
              return v;
            },
            set:function(e){
              v = e;
              sow();
            }}
          );
          
          function sow(){
             $('body').html(demo.foobar) 
          }

           

      • 手动设置断点
      • 设置属性不可变
      • 移除属性
        •   
          get: function () {
                throw new Error('Most middleware (like ' + name + ') is no longer bundled with Express and must be installed separately. Please see https://github.com/senchalabs/connect#middleware.');
              }

           

  • debugger

转载于:https://www.cnblogs.com/gentlemint/p/5177089.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值