调用像CH.home.init({})或CH.home.ini()这样的函数有什么不同

What is the different between calling a function like this CH.home.init({}) or CH.home.init()?

本文关键字:home CH 函数 什么 init ini 调用      更新时间:2023-09-26

我想知道调用类似的函数之间是否有区别

CH.home.init({})

或者只是像正常函数一样调用它?

CH.home.init()

以下是它的上下文:

var CH = CH || {};  
CH.core = function () {
        CH.home.init({});
    },
...
CH.home = function () {
    function init(a) { 
      $.extend(k, a)   
      ...
                var k = {
                        aDatas: null,
                        loaderId: "home",
                        transitionEase: "cubic-bezier(0.18, 0.11, 0.3, 1)",
                        timer: null,
                        nbRandom: 1,
                        ratioImg: .625,
                        opacityOff: .35,
                        speedOpacity: 400,
                        delayHome: 2500,
                        indexBkg: 0,
                        $logo: $("h1"),
                        $nav: $("nav"),
                        $lineH: $("span.lineH"),
                        $lineV: $("span.lineV"),
                        imgs: [{
                            src: "chny.jpg",
                            align: "top"
                        }, {
                            src: "ch.jpg",
                            align: "top"
                        }, {
                            src: "212.jpg",
                            align: "top"
                        }, {
                            src: "house.jpg",
                            align: "middle"
                        }]
                    };

显然,参数是不同的。在init({})中,您传递的是一个空的对象文字,而在init()中,您不传递任何内容 这是否会对结果产生影响取决于init函数的作用,不幸的是,您没有向我们展示这一点。

init函数中,参数用于扩展k对象,这似乎没有什么不同。如果不传递任何内容,则a将是undefined,而$.extend将对k不执行任何操作——就像在不使用密钥的情况下扩展它一样。

CH.home.init({})调用CH.home.init时使用一个空对象作为参数,而CH.home.init()调用CH.home.init时不使用任何参数