JavaScript进阶篇(汇总+详解)

知识汇总部分:(干货!!)

//对象
let b={age:10,name:"HelloYf"};//新建对象b,属性age和name
b.name.toUpperCase();//返回name的内容大写
// b.name.toLowerCase();//返回name的内容小写
b.name.slice(1,3);//返回name的截取2~3字段el,数组亦可
b.name.replace("HelloYf","HelloWy")//替换为HelloWy
​
//数组
let x =[1,2,3,4,5,6];
x.pop();//出栈,即移除最后一个元素6
x.push(2);//入栈,即在最后增加一个元素
x.sort();//排序
for(i of x){}//遍历数组
​
//Date
let d =new Date();
console.info(d);//输出当前时间
d.getFullYear();//获取当前年份
d.setFullYear();//改变当前年份
d.getMonth();//获取0~11月,即1~12月
​
//Math
let m = Math.random();//random()括号中可以输入值,如:10则是1~10的随机数
console.info(m)//m为0~1的随机数
m.Math.round();//转化为整型integer
m.Math.sqrt();//求平方根
m=[1,2];
m.Math.max();//返回最大值,即2
​
//DOM
document.getElementsByTagName("xxx")[0].value=666;//利用标签名给第一块赋值
// document.getElementById("image").src()="../img/xxx.png";//更改图像地址
document.getElementById("xxx").style.color="red";//更改text文本颜色
document.getElementById("xxx").style.fontSize="20px";//更改字体大小
document.getElementById("xxx").style.display="none";//隐藏文字
document.addEventListener("click",myFunction());//插入点击监听事件

概要:

JavaScript 是⼀种 基于对象的、事件驱动型的、解释型的脚本语⾔,JS设计的⽬的是实现⽹⻚的交互能⼒

•基于对象:(区别于⾯向对象),JavaScript和Java语⾔⼀样可以通过对象调⽤⽅法 obj.fn()

•事件驱动:⽹⻚⽂档中的HTML标签事件触发JavaScript代码执⾏

•解释型:边解释边执⾏(不会先对⽹⻚进⾏编译⽣成中间⽂件)

•脚本语⾔:JavaScript不会独⽴运⾏,依赖于⽹⻚⽂件(HTML⽂档)存在 (通俗的理解为js要写在⽹⻚中)

面试题 两个布尔类型的变量是否可以求和,为什么

可以,在JavaScript中将true看做1计算,将false看做0,如果出现字符就会当做字符串拼接,如:

var a = true;
var b = false;
var c = xx;
var d = a+b;
var e = c+a;
console.log(d);//结果为1
console.log(e);//结果为xxtrue

JS不能⼲什么

•JS虽然是在⽤⼾的浏览器中执⾏,但是JS不能访问⽤⼾的本地⽂件;

•JS不能操作来⾃于不同服务的⽹⻚⽂档

一、基础语法

1、常用构造器:

Array    JavaScript中的数组(集合),在此构造器中定义了可以对数据进⾏操作的函数
String   字符串,其中定义了对字符串进⾏截取、分隔、正则校验等操作的函数
Date     ⽇期,包含对⽇期进⾏操作函数
Math     数学,其中定义了数学运算绝对值、三⻆函数、四舍五⼊等操作的函数
Number   数值,包含对数值进⾏操作的函数
RegExp   正则表达式,⽤于对字符串进⾏正则校验
Boolean  布尔
Object   通⽤对象
Error    ⽤于异常处理的错误对象
Function 顶层对象,Function属性全局属性,Function函数全局函数
Events   事件对象 例如按钮发⽣了点击事件

2、正则表达式RegExp

1. 特殊符号:
\d 任意数字 ,相当于[0-9]
\s 空⽩字符
\b 单词便捷
\uxxxx 匹配unicode字符
​
2. 区间:
[0-9] 从0到9的任意数字 [0123456789]
[13579] 表⽰1、3、5、7、9中任意⼀个数字
[a-z] 从a到z的任意⼀个⼩写字⺟
[A-Z] 从A到Z的任意⼀个⼤写字⺟
[a-zA-Z] 任意⼀个字⺟
[0-9a-zA-Z] 任意字⺟和数字
​
3. 量词
a+ ⾄少⼀个a
a* 0~n个a
a? 0~1个a
a{m} m个a
a{m,n} m~n个

3、新建对象

// JS中{}就表⽰对象类型,JS对象的属性名可以直接定义,并且对象的属性⽀持扩展
//1.定义stu对象有两个属性
var stu = {stuNum:"10001",stuName:"王⼆狗"};
//2.对象号之后扩展⼀个属性
stu.stuGender = "男";

4、Math

Math中提供的函数(静态函数),可以通过 Math. 直接调用





内置对象-Math





5、Array

数组,存放⼀组相同类型数据的数据结构 在JS中,同⼀个数组中可以存放多种不同类型的数据,相当于Java等强类型语⾔中的集合(⻓度可变,可以存储多种类型数据)











6、Date





内置对象Date





二、进阶用法

JavaScript进阶篇(汇总+详解)_第1张图片

1、BOM 浏览器对象模型

JavaScript进阶篇(汇总+详解)_第2张图片

1.1 window 对象中的属性

closed  返回窗口是否已被关闭
defaultStatus   设置或返回窗口状态栏中的默认文本
document    对 Document 对象的只读引用
frames  返回窗口中所有已经命名的框架集合,集合由 Window 对象组成,每个 Window 对象在窗口中含有一个  或