![5a738da1fc614c3983f5e0d0192c5290.png](https://i-blog.csdnimg.cn/blog_migrate/693871a58a9cbb6ad1374735c01fe39f.jpeg)
window
一、获取'nodes'
首先声明一个空对象'nodes'
判断传入的'nodeOrSelector'是节点还是选择器。
若是选择器(字符串),则通过'document.querySelectorAll'方法找到对应的所有节点,该方法生成的是一个'NodeList'伪数组。用临时变量'temp'保存'NodeList',然后遍历'temp'将temp复制到事先生成的空对象'nodes'中;这样可以得到一个原型链直接指向'Object'的伪数组,不会将'NodeList'的原型链也复制到'nodes'。
若传入的是Node(节点),把这个节点也变成一个伪数组。这样不论传入的是节点还是选择器,得到的'nodes'都是一个伪数组,后面对'nodes'进行处理的时候就不用再分两种情况了。
二、addClass功能
由于'nodes'是一个对象(哈希),所以通过加属性的方法来实现addClass功能。
遍历传入的'classes',将'classes'逐个添加到'nodes'的每一项中(只有元素才有.classList)。
三、setText功能
同理,将传入的text通过'.textContent'逐个添加到'nodes'的每一项中