javaScript基本数据类型如何传递引用

#问题:那么在js中如何实现这个要求?
当一个html的DOM对象的某个值发送变化时候(比如name属性),让另一个DOM对象的属性也跟着变化,如比第二个DOM中的内容要让第一个DOM对象的name属性前面加上“姓名:” + name,初学,不理解这种应该怎么办?

你这其实算是框架的渲染原理。如果你考虑使用react或者vue 你就不必考虑这种问题。
如果你现在不想入手框架学习,可以在我文章里搜一下mvc原理,应该可以满足你的需求

不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 这篇博客: JavaScript数组基础练习题中的 十六、返回一个只有name属性的新数组 部分也许能够解决你的问题, 你可以仔细阅读以下内容或者直接跳转源博客中阅读:
        <script>
            const arr = [
                { id: 10, name: '张三' },
                { id: 12, name: '李四' },
                { id: 3, name: '王五' },
                { id: 2, name: '赵六' },
                { id: 4, name: '孙七' }
            ]
            const newArr = []
            for (let i = 0; i < arr.length; i++) {
                newArr.push(arr[i].name)
            }
            console.log(newArr)
        </script>

  • 以下回答来自chatgpt:

    我会尽力回答这个问题。在JavaScript中,可以实现DOM对象之间的属性传递引用,可以通过监听第一个DOM对象的相关属性值,当属性值改变时,触发一个回调函数,在回调函数中更新第二个DOM对象的相关属性值。

    具体实现步骤如下:

    1. 通过getElementById方法或者其他方法获取第一个DOM对象和第二个DOM对象。

    2. 添加事件监听器到第一个DOM对象的相关属性,如name属性,监听事件为input。

    document.getElementById('first').addEventListener('input', function(event) {
      var name = event.target.value;
      var newName = '姓名: ' + name;
      document.getElementById('second').textContent = newName;
    });
    
    1. 在回调函数中更新第二个DOM对象的相关属性值,如textContent。

    完整代码如下:

    <!-- HTML代码 -->
    <label for="first">姓名:</label>
    <input type="text" id="first" name="name">
    <div id="second"></div>
    
    // JS代码
    document.getElementById('first').addEventListener('input', function(event) {
      var name = event.target.value;
      var newName = '姓名: ' + name;
      document.getElementById('second').textContent = newName;
    });
    

    这样就可以实现DOM对象之间的属性传递引用了。当第一个DOM对象的name属性值改变时,第二个DOM对象会将其前面加上“姓名:”。


如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^