javascript对象中具有相同名称的函数和函数组

Plo*_*hie 1 javascript

我有以下对象JavaScript.我很困惑如何访问object.demo()object.demo.inner().该object.demo.inner()工作的罚款,但object.demo不工作.我要求名称应该相同.为什么函数不会在这里超载?

var object = {
    // object.demo()
    demo: function(str, pathStr) {
        console.log('function 1')
    },

    demo: {
         // object.demo.inner()
        inner: function () {
            console.log('inner')
        }
    }
}

object.demo.inner() //working
object.demo() //not working
Run Code Online (Sandbox Code Playgroud)

dfs*_*fsq 5

函数是javascript中的一个对象,因此它可以具有其他属性.所以你可以将inner函数赋给object.demo对象的属性:

var object = {
    // object.demo()
    demo: function(str, pathStr) {
        console.log('function 1')
    }
}

// object.demo.inner
object.demo.inner = function () {
    console.log('inner')
}
Run Code Online (Sandbox Code Playgroud)