新手小白练习web API的第一天

1.声明变量

声明变量有三个:const,let,var

建议: const 优先 ,尽量使用const,原因是:
  • const 语义化更好
  • const 声明的值不能更改,而且const声明变量的时候需要里面进行初始化
  • 很多变量我们声明的时候就知道他不会被更改了,那为什么不用 const呢?
  • 实际开发中也是,比如react框架,基本const
  • 如果实在纠结可以有了变量先给const,如果发现它后面是要被修改的,再改为let
  • 建议数组和对象使用 const 来声明

在声明对象时,如果刚开始用的let进行声明,最后重新赋值,此时let可以用const代替,因为对象的地址是不变的 ,对于引用数据类型,const声明的变量,里面存的不是 值,不是值,不是值,是 地址比如以下代码就是可以将let更换成const

let arr = ['red','green']
arr.push('pink')
console.log(arr)

//以下方式是错误的,因为相当于是重新声明了一个数组,地址不一样
const names = []
names = [1,2,3]

//可以用以下方式就是正确的
constnames = []
names[0] = 1
names[1] = 2
names[2] = 3

2.Web APIs 

 分成两类DOM (文档对象模型)、BOM(浏览器对象模型)

2.1DOM 

DOM是浏览器提供的一套专门用来 操作网页内容 的功能(开发网页内容特效和实现用户交互)

2.1.1DOM树

  • 将 HTML 文档以树状结构直观的表现出来,我们称之为文档树或 DOM 树
  • 描述网页内容关系的名词
  • 作用:文档树直观的体现了标签与标签之间的关系

2.1.2DOM对象

 浏览器根据html标签生成的 JS对象,document 对象,是 DOM 里提供的一个对象,它提供的属性和方法都是用来访问和操作网页内容的

2.2对DOM对象的操作 

2.2.1根据css选择器来获取DOM元素

  • 选择匹配的第一个元素——document.querySelector('css选择器');返回的是与css选择器匹配的第一个元素,如果没有匹配到,则返回null
  •  选择匹配的多个元素——document.querySelectorAll('css选择器');返回的是与CSS选择器匹配的NodeList(对象集合), 是一个伪数组,但是没有pop().push()等数组方法,想要得到里面的每一个对象,则需要遍历(for)的方式获得
  • 根据id获取一个元素——document.getElementById('css选择器')
  • 根据标签获取一类元素——document.getElementsByTagName('css选择器')
  • 根据类名获取元素——document.getElementsByClassName('css选择器')

2.3操作元素内容 

innerText——将文本内容添加/更新到任意标签位置。显示纯文本,不解析标签

<div class="info"></div>
    <script>
      const info = document.querySelector(".info");
      console.log(info);
      info.innerText = "哈喽";
    </script>

innerHTML——将文本内容添加/更新到任意标签位置,会解析标签,多标签建议使用模板字符

<div class="info"></div>
    <script>
      const info = document.querySelector(".info");
      console.log(info);
      info.innerHTML = `哈喽,<h1>我是无敌暴暴龙</h1>`;
    </script>

2.4操作元素的属性 

可以通过 JS 设置/修改标签元素属性,比如通过 src更换 图片,语法如下:
对象.属性 = 值

2.5操作元素样式属性

对象.style.样式属性 = 值
注意:
  • 修改样式通过style属性引出
  • 如果属性有-连接符,需要转换为小驼峰命名法
  • 赋值的时候,需要的时候不要忘记加css单位
元素.className = 'active' //active是一个类名

直接使用 className 赋值会覆盖以前的类名

元素.classList.add('类名')//追加一个类
元素.classList.remove('类名')//删除一个类
元素.classList.toggle('类名')//切换一个类

 使用 classList赋值不会覆盖以前的类名

2.6操作表单元素属性

  • 获取: DOM对象.属性名
  • 设置: DOM对象.属性名 = 新值
//比如
表单.value = '用户名'
表单.type = 'password'

以下属性一律使用 布尔值表示 如果为true 代表添加了该属性 如果是false 代 表移除了该属性

 比如: disabled、checked、selected

2.7自定义属性

  •  在html5中推出来了专门的data-自定义属性
  •  在标签上一律以data-开头
  •  在DOM对象上一律以dataset对象方式获取

2.8定时器 

setInterval(函数,间隔时间)//开启定时器
//关闭定时器
let 变量名 = setInterval(函数,间隔时间)
clearInterval(变量名)
作用:每隔一段时间调用这个函数 ,间隔时间单位是毫秒
注意:
1. 函数名字 不需要加括号
2. 定时器返回的是一个id数字

  • 15
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值