为了账号安全,请及时绑定邮箱和手机立即绑定

jquery.extend,使用后为什么为null的属性会出现值.

jquery.extend,使用后为什么为null的属性会出现值.

交互式爱情 2018-11-28 05:01:04
代码为第一张图片,第一次console.log打印是第二张图片.第二次console.log打印是第三张图片.第二张图下面的属性是第一次打印拉下的属性信息,第三张图是第二次打印拉下的信息,但为什么第三张图拉下的信息中的 ajax 有了 type 和 url 属性了。 
查看完整描述

1 回答

?
陪伴而非守候

TA贡献1757条经验 获得超8个赞

js代码是自上而下顺序执行的,当这段代码执行到第一行console打印时,此时ajax属性的值为null;当这段代码执行到第三行console打印时,此时ajax属性的值确实为null,此时打印出来的信息是这个时间点的变量的状态。

由于DataTable.models.oSettings是引用类型的值,在第三行打印之后,如有类似如下语句执行赋值操作:

1

DataTable.models.oSettings.ajax = {...};

相应的在控制台展开后,也是更新后的值。

运行如下demo,在控制台看效果:

1

2

3

var a = { a:1, ajax: null};

console.log(a);

a.ajax = {};

 


查看完整回答
反对 回复 2018-12-23
  • 1 回答
  • 0 关注
  • 559 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信