You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何返回与局部变量同名同值的对象?及返回x/y/w/h值的实现疑问

嘿,我来帮你解决这两个问题,其实你的需求用ES6的语法就能轻松搞定!

1. 如何返回属性名和局部变量完全相同的对象?

ES6引入了对象字面量简写语法,完美解决这个问题!当你要创建的对象属性名和变量名完全一致时,不需要重复写key: value,直接写变量名就可以了。

比如你原来的代码里return { x: x, y: y, w: w, h: h };,可以简化成:

return { x, y, w, h };

这两行代码的效果完全一样,后者更简洁易读,而且是标准的JS特性,所有现代浏览器和Node.js环境都支持。

2. 如何返回变量x、y、w和h的值?

你当前的代码其实已经在做这件事了——通过返回包含这些变量的对象,外部可以直接访问这些值。优化后的完整代码如下:

const selectorRect = (function() {
  let x = undefined;
  let y = undefined;
  let w = undefined;
  let h = undefined;
  // 用简写语法返回对象,属性名和变量名一一对应
  return { x, y, w, h };
})();

// 打印整个对象,查看所有值
console.log(selectorRect); // 输出: { x: undefined, y: undefined, w: undefined, h: undefined }

// 单独访问某个变量的值
console.log(selectorRect.x); // 输出: undefined

如果之后你给x、y等变量赋值(比如x = 50; y = 30;),返回的对象也会包含更新后的数值,因为返回时取的是变量当前的状态。

内容的提问来源于stack exchange,提问作者user8380672

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.14 06:57:41