javascript - 在js中使用带有点运算符的嵌套函数

标签 javascript function object

嘿,大家是 javascript 应用程序开发的新手。我的代码

var obj = {
    models: "AN",
    collection: {},
    person: {},

    changeDetails: function(values, babes) {
        obj.person.name = values.name;
        obj.person.age = values.age;
    }

    babe: function() {
        return 5;
    }
};

当我这样调用它时 obj.changeDetails({name:"George",age:20}).babe());它向我抛出类似 Uncaught SyntaxError: Unexpected identifier 的错误

是否可以在 javascript 中调用 objectname.functionname.().anotherfunctionname() ??.如果可能,请将其作为显示其演示的答案发布..

谢谢

最佳答案

您有 2 个语法错误和 1 个逻辑错误

后面缺少一个逗号 ( , )

changeDetails: function (values, babes) {
    obj.person.name = values.name;
    obj.person.age = values.age;
}

应该是这样

var obj = {
   models: "AN",
    collection: {},
    person: {},
    changeDetails: function(values, babes) {
        obj.person.name = values.name;
        obj.person.age = values.age;
    },
    babe: function() {
        return 5;
    }
};

此外,您的右括号 ( ) ) 过多

obj.changeDetails({name:"George",age:20}).babe());

应该是

obj.changeDetails({name:"George",age:20}).babe();

最后,能够调用方法babe的对象,您必须在 changeDetails 内返回它函数,使用 this 是有意义的在此背景下。

最终解决方案

var obj = {
    models: "AN",
    collection: {},
    person: {},

    changeDetails: function(values, babes) {
        this.person.name = values.name;
        this.person.age = values.age;
        return this;
    },
    babe: function() {
        return 5;
    }
};
obj.changeDetails({name:"George",age:20}).babe();

关于javascript - 在js中使用带有点运算符的嵌套函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24938160/

相关文章:

javascript - 递归删除文件夹的内容但保留文件夹

c - 编写使用指针复制字符串的函数时出错

java - Java 中的复数求和函数

javascript - 在for循环中访问函数外部的变量(对象)

php - php中如何将对象转换为数组的数组?

javascript - JavaScript promise 在没有被拒绝或解决时是否会造成内存泄漏?

javascript - jsPlumb 连接器显示错误路径

javascript - 向下滚动时隐藏菜单,然后当向上滚动达到 0 时显示菜单 [javascript] 对我不起作用

javascript - 完成 - pureJS 写入数据的问题,有什么想法吗?

php - 将数组定义为类的属性时出现语法错误