发表于: 2021-01-20 22:28:19
1 964
1.js常见的DOM操作
dom又称对象模型,用于对html和xml文档内容操作,实现对文档内容的增,删,改,查
节点树:dom将html文档视作树结构
节点:html文档中所有内容都是节点
查找节点
document.getElementByld('属性值');返回指定id的引用
document/element.getElementsByClassName('class属性值');返回指定class对象的对象集合
document/element.getElementsByTagName('标签名');返回指定标签的对象集合
document.getElementByname('name属性值');返回指定名称的对象集合
document/element.querySelector('css选择器');返回第一个匹配元素
document/element.querySelectorAll('css选择器');返回所有匹配元素
document.body 获取页面body标签
新建节点
document.createElement('元素名');创建新的元素节点
document.createAttribute('属性名');创建新的属性节点
document.createTextNode('文本内容');创建新的文本节点
document.createComment('注释节点');创建新的注释节点
添加新节点(添加新节点与新建节点不同,新建节点不会添加到dom中,没有任何效果)
parent.appendChild();向父节点最后一个子节点添加新节点
parent.insertBefore();向父节点的特定子节点之前添加新节点
element.setAttributeNode()给元素增加属性节点
element.setAttribute()给元素增加属性节点
删除节点
parentNode.romovechild();删除已有的子节点,返回值为删除节点
element.romoveAttribute('属性名');删除指定属性名称的属性,无返回值
element.romoveAttribute('属性名');删除指定属性,返回值为删除的属性
修改节点
parentNode.replaceChild();用新节点替换父节点中已有的子节点
element.setAttributeNode();
element.setAttribute();
2.dom事件
鼠标事件
onclick/ondbclick 单击事件/双击事件
onmousedown 鼠标按钮被按下
onmousemove 鼠标被移动
onmouseout 鼠标从元素上离开
onmousetup 鼠标按钮被松开
键盘事件
onkeydown 键盘按下
onkeyup 键盘松开
总结:dom操作是通过document获取元素对象加载到内存中进行操作(如:增删改查)
3.洗牌算法
洗牌算法具体指的是什么?
实现洗牌的具体方法:
a. Fisher–Yates shuffle算法:
随机抽一个放到最后,把剩余的数继续抽,继续放到次后依次执行
步骤:从原始数组中随机抽取一个新的数字到数组中
-1.记录从1到n的数字
-2.从1到剩余的未删除号码之间选择一个随机数k。
-3.从低端开始计数,剔除尚未剔除的第k个数字,然后将其写下来
-4.从第2步开始重复,直到所有数字都被删除。
-5.现在在步骤3中写下的数字序列是原始数字的随机排列
问题:
不太理解
作用域与执行环境
构造函数
评论