html5自定义数据属性?rgba()和 opacity的透明效果有什么不同?数组的方法(一)

简介: html5允许给元素指定非标准的属性,但要以`data-`开头,获取时通过元素的dataset属性来访问。如果做过小程序的同学会发现,小程序已经经常使用这个属性了。

一省:HTML

18. html5自定义数据属性?

html5允许给元素指定非标准的属性,但要以data-开头,获取时通过元素的dataset属性来访问。如果做过小程序的同学会发现,小程序已经经常使用这个属性了。

<div class="myDiv" data-name="Jack" data-age="18"></div>
<script>
  let box = document.querySelector(".myDiv")
  console.log(box.dataset);//DOMStringMap {name: 'Jack', age: '18'}
  console.log(box.dataset.name);//Jack
  console.log(box.dataset.age);//18
</script>

二省: CSS

18. rgba()和 opacity的透明效果有什么不同?

rgba(0)和 opacity:0; 都能实现透明效果,但它们最大的不同是opacity作用于元素,并且可以设置元素内所有内容的透明度;而 rgba(0)只作用于元素的颜色或其背景色(设置rgba透明的元素的子元素不会继承透明效果)。

三省:JavaScript

18. 数组的方法(一)

1.检测数组

  • instanceof
    let str = "123"
    let obj = {
         0:123}
    let arr = [123]
    console.log(str instanceof Array);//false
    console.log(obj instanceof Array);//false
    console.log(arr instanceof Array);//true
    
    • isArray()
      //ES6方法 Array.isArray()
      console.log(Array.isArray(str));//false
      console.log(Array.isArray(obj));//false
      console.log(Array.isArray(arr));//true
      

2.迭代器方法

let arr = ["Jack", "Marry", "Jarry", "Bob"]
  • keys()返回数组索引的迭代器
    console.log(arr.keys());//Array Iterator {}  
    // 因为返回的是迭代器对象,可以通过Array.from()直接转化为数组实例
    console.log(Array.from(arr.keys()));//[0, 1, 2, 3]
    
  • values()返回数组元素的迭代器

    console.log(arr.values());//Array Iterator {}  
    console.log(Array.from(arr.values()));//['Jack', 'Marry', 'Jarry', 'Bob']
    
  • entries()返回键值对的迭代器

    console.log(arr.entries());//Array Iterator {}  
    console.log(Array.from(arr.entries()));//[[0, 'Jack'], [1, 'Marry'], [2, 'Jarry'], [3, 'Bob']]
    

    3.填充和复制方法

    • fill()填充数组
// fill()填充
let arr = ["old", "old", "old", "old"]
// 用new填充整个数组
console.log(arr.fill("new"));//['new', 'new', 'new', 'new']
arr.fill("old");//重置
// 填充下标大于2的元素
console.log(arr.fill("new", 2));//['old', 'old', 'new', 'new']
arr.fill("old");//重置
// 填充下标大于1且小于3的元素
console.log(arr.fill("new", 1, 3));//['old', 'new', 'new', 'old']
arr.fill("old");//重置
// 填充下标倒数大于等于1且小于4的元素
console.log(arr.fill("new", -4, -1));//['new', 'new', 'new', 'old']
arr.fill("old");//重置
// fill()会忽略超出边界的情况,如下标太大或者太小
console.log(arr.fill("new", 5, 10));//['old', 'old', 'old', 'old']
console.log(arr.fill("new", -10, -6));//['old', 'old', 'old', 'old']
console.log(arr.fill("new", -3, -10));//['old', 'old', 'old', 'old']
// 部分可用
console.log(arr.fill("new", 3, 10));//['old', 'old', 'old', 'new']
  • copywithin()复制数组
// copyWithin()复制
let arr 
reset = () => {
    arr = [0,1,2,3,4,5,6,7,8,9] }
reset()

// 从下标为0开始复制,从下标为4开始插入
console.log(arr.copyWithin(4));//[0, 1, 2, 3, 0, 1, 2, 3, 4, 5]
reset();
// 从下标为5开始复制,从下标为0开始插入
console.log(arr.copyWithin(0, 5));//[5, 6, 7, 8, 9, 5, 6, 7, 8, 9]
reset();
// 从下标0复制到下标为3的内容,从下标为5开始插入
console.log(arr.copyWithin(5, 0, 3));//[0, 1, 2, 3, 4, 0, 1, 2, 8, 9]
reset();
// copyWithin()也会忽略超出边界的情况

4. 栈方法

  • push() 推入
  • pop() 弹出\
    两个方法都只能操作栈尾,即数组末尾
// push pop   push可以push多项,pop只能pop一项
let arr = [1,2,3,4,5]
// push一项
arr.push(6)
console.log(arr);//[1, 2, 3, 4, 5, 6]
// push两项
arr.push(7,8)
console.log(arr);//[1, 2, 3, 4, 5, 6, 7, 8]
// pop
arr.pop()
console.log(arr);//[1, 2, 3, 4, 5, 6, 7]

5. 队列方法

// shift可以从数组头部取出一个元素
// unshift可以从数组头部推入一个或多个元素
let arr = [1, 2, 3, 4, 5]
arr.shift()
console.log(arr);//[2, 3, 4, 5]
arr.unshift(0, 1);
console.log(arr);//[0, 1, 2, 3, 4, 5]

6. 排序方法

// reverse() 把数组反转
// sort() 按升序把数组排序
let arr = [1, 3, 2, 6, 4, 5]
arr.reverse()
console.log(arr);// [5, 4, 6, 2, 3, 1]
arr.sort()
console.log(arr);//[1, 2, 3, 4, 5, 6]

// 注意 sort方法会把元素转化成字符串来比较,所以很多时候会有问题
let arr1 = [1, 3, 5, 12, 25]
arr1.sort()
console.log(arr1);//[1, 12, 25, 3, 5]
// sort() 方法可以传一个比较函数来解决这个问题
arr1.sort((a, b) => a < b ? -1 : a > b ? 1 : 0);// 第一个参数大于第二个参数就返回-1,小于就返回1,相等就返回0
console.log(arr1);//[1, 3, 5, 12, 25]
相关文章
|
5天前
|
JavaScript 前端开发
【快捷键配置】常用HTML类名、CSS样式名称、JS方法变量名、vue代码片段
【快捷键配置】常用HTML类名、CSS样式名称、JS方法变量名、vue代码片段
|
5天前
|
存储 移动开发 JavaScript
HTML5中form表单防止重复提交的两种方法
HTML5中form表单防止重复提交的两种方法
|
5天前
|
敏捷开发
【sgCreateTableColumn】自定义小工具:敏捷开发→自动化生成表格列html代码(表格列生成工具)[基于el-table-column]
【sgCreateTableColumn】自定义小工具:敏捷开发→自动化生成表格列html代码(表格列生成工具)[基于el-table-column]
|
5天前
|
XML 前端开发 数据格式
BeautifulSoup 是一个 Python 库,用于从 HTML 和 XML 文件中提取数据
【5月更文挑战第10天】BeautifulSoup 是 Python 的一个库,用于解析 HTML 和 XML 文件,即使在格式不规范的情况下也能有效工作。通过创建 BeautifulSoup 对象并使用方法如 find_all 和 get,可以方便地提取和查找文档中的信息。以下是一段示例代码,展示如何安装库、解析 HTML 数据以及打印段落、链接和特定类名的元素。BeautifulSoup 还支持更复杂的查询和文档修改功能。
23 1
|
5天前
|
存储 JSON 小程序
html在线预览CAD(手机小程序浏览DWG)二次开发图层表的方法
本文档介绍了DWG数据库中图层的存储结构及MxCAD库对图层的操作。图层信息存储于图层层表McDbLayerTable()中,每个记录对应一个图层,包含颜色、线型等属性,且有一个不可删除的默认"0"层。主要操作包括:通过MxCpp.getCurrentMxCAD()获取图层表,使用addLayer()添加图层,遍历图层,以及删除图层。此外,还展示了如何修改图层的关闭、冻结、锁定状态及颜色。提供了在线示例以演示这些功能。
html在线预览CAD(手机小程序浏览DWG)二次开发图层表的方法
|
5天前
|
移动开发 前端开发 搜索推荐
【CSDN创作优化1】个人简介优化 html font属性
【CSDN创作优化1】个人简介优化 html font属性
8 0
|
5天前
|
前端开发 JavaScript UED
【专栏:HTML基础篇】HTML列表与表格:展示数据的两种方式
【4月更文挑战第30天】本文探讨了HTML中的列表和表格两种元素在网页设计中的重要性。无序列表(`&lt;ul&gt;`)和有序列表(`&lt;ol&gt;`)用于呈现相关项目,前者常用于导航菜单,后者适合有序信息。表格(`&lt;table&gt;`)用于展示结构化数据,通过`&lt;tr&gt;`、`&lt;td&gt;`和`&lt;th&gt;`定义行和单元格。尽管简单,列表和表格在内容呈现和用户体验上起着关键作用。然而,响应式设计趋势下,表格可能被更灵活的布局替代,复杂数据展示则可借助JavaScript库提升交互性。正确使用这些基础元素能有效组织信息,创建优质网页。
|
5天前
html_ifream与父级窗口之间的数据传递(window和document)
html_ifream与父级窗口之间的数据传递(window和document)
16 0
|
5天前
|
数据采集 前端开发 网络协议
如何使用代理IP通过HTML和CSS采集数据
如何使用代理IP通过HTML和CSS采集数据
|
5天前
|
数据采集 XML 数据挖掘
使用Python打造爬虫程序之HTML解析大揭秘:轻松提取网页数据
【4月更文挑战第19天】本文介绍了HTML解析在爬虫技术中的重要性,并通过Python的BeautifulSoup库展示了如何解析和提取数据。文章涵盖了HTML文档结构、使用BeautifulSoup的基本方法,如`find_all()`、选择器(标签、类、ID选择器)以及提取文本、属性和链接。此外,还讨论了遍历和处理嵌套元素的技巧。