我正在学习Bootstrap的javascript代码,这是一个例子,我想知道他们如何使用noConflict,这是一段代码:
var old = $.fn.tab;
$.fn.tab = function () {
// do something
}
$.fn.tab.noConflict = function () {
$.fn.tab = old // set $.fn.tab to undefined
return this
}
var s = $.fn.tab.noConflict();
console.log(s, $.fn.tab) // do something
// undefined
我想知道为什么设置为undefined
时return this
仍然可以获取函数的值,是引用/值的问题吗?
感谢帮助。
最佳答案
当我们将变量 old
设置为 $.fn.tab
时,
$.fn.tab
尚未定义(如果不存在)
一旦我们调用方法noConflict
,$.fn.tab
将被设置为$.fn.tab
预定义(或未定义) ),我们定义的$.fn.tab
将返回到我们定义的变量(这里是s
)
关于javascript - Bootstrap无冲突使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25010725/