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

如何使对象属性直接返回document.body这类对象?

实现自定义对象属性动态返回body元素(类似document.body)

静态赋值(一次性获取)

如果页面的body元素不会被动态替换,直接赋值当前body元素即可:

const docObj = {
    property1: value1,
    property2: value2,
    bodyProperty: document.body, // 直接绑定当前body元素的引用
    bodyMethod: function(){
          return document.body;
    }
 };

注意:这种方式的局限性是,若后续页面的body元素被替换(比如通过document.body = newBody),docObj.bodyProperty会保留旧的元素引用,不会自动更新。

使用Getter实现动态返回(和document.body行为一致)

document.body本质是一个getter属性——每次访问它时,都会执行内部逻辑返回最新的body元素。你可以用ES6的get语法复刻这个行为:

const docObj = {
    property1: value1,
    property2: value2,
    // 定义getter属性,每次访问都会触发函数执行
    get bodyProperty() {
        return document.body; // 返回当前最新的body元素
    },
    bodyMethod: function(){
          return document.body;
    }
 };

现在每次访问docObj.bodyProperty,都会实时返回当前页面的body元素,和document.body的表现完全一致。

如果需要支持设置属性(比如docObj.bodyProperty = newBody),还可以搭配setter:

const docObj = {
    property1: value1,
    property2: value2,
    get bodyProperty() {
        return document.body;
    },
    set bodyProperty(newBody) {
        document.body = newBody; // 实现自定义的设置逻辑
    },
    bodyMethod: function(){
          return document.body;
    }
 };

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 16:02:11