猿问

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

代码为第一张图片,第一次console.log打印是第二张图片.第二次console.log打印是第三张图片.


第二张图下面的属性是第一次打印拉下的属性信息,第三张图是第二次打印拉下的信息,但为什么第三张图拉下的信息中的 ajax 有了 type 和 url 属性了。

  •  




交互式爱情
浏览 560回答 1
1回答

陪伴而非守候

js代码是自上而下顺序执行的,当这段代码执行到第一行console打印时,此时ajax属性的值为null;当这段代码执行到第三行console打印时,此时ajax属性的值确实为null,此时打印出来的信息是这个时间点的变量的状态。由于DataTable.models.oSettings是引用类型的值,在第三行打印之后,如有类似如下语句执行赋值操作:1DataTable.models.oSettings.ajax = {...};相应的在控制台展开后,也是更新后的值。运行如下demo,在控制台看效果:123var a = { a:1, ajax: null};console.log(a);a.ajax = {}; 
随时随地看视频慕课网APP

相关分类

JQuery
我要回答