我想使用一个对象作为函数参数。当我在 fucntion 之外定义一个对象然后将它作为参数传递时,它工作正常:
var obj = {
a: 0
}
function foo(obj){
console.log(this.obj.a);
}
foo() //0
Run Code Online (Sandbox Code Playgroud)
但是当我直接传递一个对象时,它不起作用:
function bar({a: 0}){
console.log(this.arguments.a)
}
// Uncaught SyntaxError: Unexpected number
Run Code Online (Sandbox Code Playgroud)
一个对象似乎是一个合法的论点。我如何解决它?
我想复制一个容器中的所有子节点,并将它们插入同一个容器中。
例如,我有:
<div id="container">
<div class="square red"></div>
<div class="square green"></div>
</div>
Run Code Online (Sandbox Code Playgroud)
在运行这个 JS 之后:
function duplicateChildNodes (parentId){
var parent = document.getElementById(parentId);
NodeList.prototype.forEach = Array.prototype.forEach;
var children = parent.childNodes;
children.forEach(function(item){
parent.appendChild(item);
});
};
duplicateChildNodes("container");
Run Code Online (Sandbox Code Playgroud)
我应该:
<div id="container">
<div class="square red"></div>
<div class="square green"></div>
<div class="square red"></div>
<div class="square green"></div>
</div>
Run Code Online (Sandbox Code Playgroud)
出于某种原因,它不起作用。我该如何解决?
一支笔:https : //codepen.io/t411tocreate/pen/gXqYWj