老师我这样写可以吗?
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<!-- 封装一个createElement函数 -->
<script>
const createElement=(x='div',y={cn:'default',cl:'dafault'})=>{
let html=document.createElement(x);
html.innerText=y.cn;
html.className=y.cl;
return html;
}
console.log(createElement());
console.log(createElement('span'));
console.log(createElement('a',{cn:'慕课网',cl:'new'}));
</script>
</body>
</html>
正在回答
同学你好,因为y={cn:'default',cl:'dafault'}表示给参数y设置默认值为这个对象,当调用函数,第二个参数传入新的对象时,那么,此时的y表示新的对象{cn:'慕课网'},没有cl属性,所以y.cl返回的值为undefined。
可以使用{ cn= 'default', cl= 'dafault' } = {}这种方法,给函数的参数设置默认值为空对象,并对这个空对象进行解构赋值,在解构时设置默认值都为default。函数内部直接使用变量名cn和cl即可。示例:
非常抱歉由于老师的疏忽给同学带来不好的学习体验,老师以后会更加严谨一点的。
祝学习愉快~
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星