js 拼接字符串时dom元素的onclick方法如何传递对象
时间: 2024-03-12 11:45:23 浏览: 178
如果你想在 JavaScript 中使用字符串拼接 DOM 元素的 onclick 方法,并且想将一个对象作为参数传递,可以使用一个 self-executing 函数来创建一个闭包,并在闭包内访问该对象,然后将该函数作为 onclick 方法的参数传递。
例如,如果你有以下对象:
```
let obj = { name: "John", age: 30 };
```
你可以在字符串拼接 onclick 方法时,使用一个 self-executing 函数来创建一个闭包,并在闭包内访问该对象,然后将该函数作为 onclick 方法的参数传递。
```
let button = document.createElement("button");
button.onclick = '(function(obj) { myFunction(obj); })(' + JSON.stringify(obj) + ')';
```
这样,当按钮被点击时,self-executing 函数内的 myFunction 函数将会接收到一个对象类型的参数,你可以在该函数内直接使用该对象。
```
function myFunction(obj) {
console.log(obj);
}
```
相关问题
js 使用字符串拼接dom的onclick方法时 如何传递对象
如果你想在 JavaScript 中使用字符串拼接 DOM 的 onclick 方法,并且想将一个对象作为参数传递,可以使用 JSON.stringify() 方法将对象转化为字符串,然后在 onclick 方法中将字符串作为参数传递。
例如,如果你有以下对象:
```
let obj = { name: "John", age: 30 };
```
你可以在字符串拼接 onclick 方法时,将该对象转化为字符串并作为参数传递:
```
let button = document.createElement("button");
button.onclick = 'myFunction(' + JSON.stringify(obj) + ')';
```
这样,当按钮被点击时,myFunction 函数将会接收到一个字符串类型的参数,你可以在该函数内使用 JSON.parse() 方法将其转化为对象。
```
function myFunction(objStr) {
let obj = JSON.parse(objStr);
console.log(obj);
}
```
js 使用`拼接dom元素onclick方法如何传递对象
如果你想在 JavaScript 中使用字符串拼接 DOM 元素的 onclick 方法,并且想将一个对象作为参数传递,可以使用闭包的方式来实现。
例如,如果你有以下对象:
```
let obj = { name: "John", age: 30 };
```
你可以在字符串拼接 onclick 方法时,使用一个匿名函数来创建一个闭包,并在闭包内访问该对象,然后将该匿名函数作为 onclick 方法的参数传递。
```
let button = document.createElement("button");
button.onclick = function() {
myFunction(obj);
};
```
这样,当按钮被点击时,匿名函数内的 myFunction 函数将会接收到一个对象类型的参数,你可以在该函数内直接使用该对象。
```
function myFunction(obj) {
console.log(obj);
}
```
阅读全文