javascript - 我如何理解 c({x :10}). x?

标签 javascript

完整代码为

    var b = 10,
    c = (
            20,
            function(x) {return x + 100},
            function() {return arguments[0]}
        );
a = b + c({x:10}).x  // => 20

我如何理解c({x:10}).x ...

最佳答案

首先,让我们重写代码,使其更易于阅读。

构造 (x, y, z) 计算最后一项 (z),因此:

var b = 10, c = function() { return arguments[0] };
a = b + c({ x: 10 }).x  // => 20

现在,c 函数只返回第一个参数,这在这里毫无意义,所以让我们删除它:

var b = 10;
a = b + ({ x: 10 }).x  // => 20

对象字面量 { x: 10 } 在这里也没有用,因为我们只是得到它的 x 属性然后丢弃它,所以:

var b = 10;
a = b + 10  // => 20

现在有意义吗?

关于javascript - 我如何理解 c({x :10}). x?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15514807/

相关文章:

javascript - 拦截浏览器的图片加载请求

javascript - 如何在自定义组件中使用 v-bind?

javascript - 在angular Js中加载模块时出错

javascript - 如何让按键对应于javascript中首先调用的函数

javascript - JQuery if 语句未正确检测跨度复选框

javascript - 同时有两个 service worker

javascript - 如何在 javascript 中为动画制作一个轻松的功能?

javascript - 对多个数组排序后返回数据

javascript 语法和 jQuery 源代码

javascript - 将方法名称作为回调传递 VS。用匿名函数包装它