js 基础2

js高级-课堂笔记

一、bom对象

1. history操作历史记录

  • 前进一步:history.forward()

  • 后退一步:history.back()

  • 切换n步:history.go(n)

    • n是正数:表示前进n步

    • n是负数:表示后退n步

二、dom对象(用来操作网页)

1. dom简介

  • dom:Document Object Model,文档对象模型。让js调用dom对象来操作网页。

  • dom树:一个网页必须要被加载到浏览器内存中:会把整个网页中所有的标签、属性、文本全部转换成节点对象,这些对象按照网页里原本的层级结构形成一棵树形,这棵树就是dom树

2. 使用dom操作网页

2.1 操作标签

2.1.1 获取标签(查)
  • document.getElementById:根据id获取一个标签Element对象

  • document.getElementsByName:根据name获取一批标签Element对象数组

  • document.getElementsByTagName:根据标签名称获取一批标签Element对象数组

  • document.getElementsByClassName:根据类名获取一批标签Element对象数组

注意:下边三个getElementsByxxx方法,

1. document对象可以使用:是从整个网页里查找标签
  1. Element对象也可以使用:从这标签对象内部查找标签

2.1.2 创建标签(增)
  • document.createElement("标签名称")

创建出来的标签,不会直接显示。必须要插入到dom树里,才会生效

2.1.3 插入标签(改)
  • 父标签.appendChild(子标签)

2.1.4 删除标签(删)
  • 标签.remove()

2.2 操作标签体

  • 标签体:开始标签和结束标签中间的全部内容

  • 获取标签体:var html = 标签对象.innerHTML

  • 设置标签体:标签对象.innerHTML = "<h1>html代码会生效</h1>"

2.3 操作属性

  • 获取属性:

    • var v = 标签对象.属性名

    • var v = 标签对象.getAttribute("属性名")

  • 设置属性:

    • 标签对象.属性名=值

    • 标签对象.setAttribute("属性名", 值)

  • 删除属性:

    • 标签对象.removeAttribute("属性名")

注意:如果属性名称是关键字,或者是自定义的属性,就必须要使用Attribute相关的方法;其它属性可以使用.属性名的方式

三、js的引用数据类型(内置类)

1. 简介

js的引用数据类型有9个:

  • Array数组

  • Boolean,boolean的包装类型

  • Date日期

  • Math数学工具类

  • Number,number的包装类

  • String,string的包装类

  • RegExp正则表达式

  • Functions,函数

  • Events,事件

2. Array(类似Java的List)

2.1 创建数组对象

var arr1 = new Array(); //创建长度为0的空数组
var arr2 = new Array(3);//创建长度为3的空数组
var arr3 = new Array("a", "b", "c");//创建数组,并初始化元素

var arr = ["a","b"];//创建数组,并初始化元素

2.2 数组对象的属性


//获取数组的长度
var len = arr.length;

//截断数组,保留前2个
arr.length = 2;

2.3 数组对象的方法


//把多个数组合并成一个
var arr = arr1.concat(arr2,arr3);

//数组里元素顺序颠倒。没有返回值,直接颠倒原数组
arr.reverse();

//数组元素拼接成字符串,按照指定分隔符分隔
var str = arr.join(",");

3. Date(相当Java的Date)

3.1 创建日期对象


var now = new Date();//当前日期当前时间
var date1 = new Date(2019, 9, 1);//创建指定日期 2019-10-1
var date2 = new Date(2019, 9, 1, 10, 20, 30);//创建指定日期指定时间 2019-10-1 10:20:30

3.2 日期对象的方法


//获取年
var year = date.getFullYear();
//获取月
var month = date.getMonth() + 1;
//获取日
var d = date.getDate();
//获取时
var hour = date.getHours();
//获取分
var minute = date.getMinutes();
//获取秒
var second = date.getSeconds();
//获取毫秒
var ms = date.getMilliseconds();

//获取1970年1月1号开始的毫秒值
var ms = date.getTime();
//以毫秒值设置一个日期
date.setTime(ms);

4. Math(相当Java的Math)


v = Math.ceil(3.0000000001);//4
v = Math.floor(3.999999999);//3
v = Math.round(3.49);//3
v = Math.random();//[0, 1)
v = 90 + Math.random()*10;//[90, 100)
v = Math.pow(2, 10);//1024

5. RegExp


//1. 创建正则表达式对象
var reg = /^([a-z0-9_\.-]+)@([\da-z\.-]+)\.([a-z\.]{2,6})$/;

//2. 校验一个邮箱格式是否正确
var result = reg.test("zhangsan@163.com");
console.log(result);
 

 

posted @ 2019-05-18 16:54  HankPeng  阅读(117)  评论(0编辑  收藏  举报