JavaScript总结

JavaScript 概述

JavaScript != Java (GC机制…)

轻量级:解释语言,需要浏览器解释

弱类型:代码的分号可加可不加;标签属性的大小写均可以… 语法的严格程度不高

面向对象:

//构造函数
function Test(){

}
let test = new Test()

JS 作用: 处理网页幕后逻辑(JS) (页面设计交给 HTML/CSS)

​ 举例:要求密码前三位是英文字母,且不能小于10位 (表单验证)

JS在页面中输出: write 只能被document使用,指定定义文本

​ innerHTML可以被所有标签使用,识别标签的文本内容

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QcPC6Kxw-1662363312946)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20220825163535319.png)]

变量初始化

var 没有块级作用域 (在区域中的值会向外扩散)

let 块级作用域 (只能在当前区域中生效)

变量提升

//var a = undefined
a = 1
console.log(a)

变量类型

null 清空引用类型“对象”

undefined 初始化每个变量在内存中的状态、

在数据类型中: NaN(不是一个数)、Infinity(无穷大)

类型的转化

var a = String(内容)

var a = Number(内容) parseInt paseFloat

var a = Boolean(内容)

运算符

逻辑与 与 短路与

​ & &&

if(a > 0 && 1 / 0 > 1)
if(a > 0 & 1 / 0 > 1)

数组

创建方式:1、var a = [1,2,3] 2、var a = new Array() ; a[0] = 1

length 数组的长度

push 向后添加一个元素或者数组

pop 将数组 末尾 去掉并返回一个元素

shift 将数组 头部 去掉并返回一个元素

unshift 向前添加一个元素或者数组

join 将所有数组的元素·通过某个字符进行组合

内置对象

new Date() 过时了

现在建议的事件获取方式:Date.now()

System.currentMillons

DOM

获取元素的方式:

document.querySelector 根据选择器 获取标签

document.querySelectorAll 根据选择器 获取所有标签

document.getElementXXXXX

监听事件

onmousedown up over out move

onkeypress

onclick

设置事件的方式(绑定事件的方式)

1、div.onclick = function(){}

2、div.addEventListener(‘click’,function(){})

设置元素的属性样式

<div style=“color:red”></div> 内联样式

color -> style -> div

div.style.color = 字符串属性

<div style=“background-color:red”></div>

div.style.background-color 错误=> div.style.backgroundColor 正确

div.style[‘background-color’] = 字符串属性

<div class=“a”></div>

div.class 错误=> div.className 正确

value

1、表单标签中的属性 所以只能用于标签标签

2、不同的type属性标签,那么value的意义的不同

3、既可以用来设置value属性,也可以用来获取value属性 (get set)

输入狂 type = “text” “password” “number”…

value 输入的内容

单/多项框 type = “radio” “check’box”

value 输入的内容就是value中定义的内容

选项框 select + option

value option的标记内容

按钮 type=“button”

value 按钮的名称

style.属性

只能设置标签的属性,不能获取标签的属性 (除非该标签定义的是行内样式)

获取属性值的函数 : document.getComputedStyle(标签对象,属性名称)

设置一个标记的属性,

如果标记定义了行内样式 ,那么“标记.style.属性” 可以获取属性

Chrome浏览器 Edge浏览器 FireFox getComputedStyle

IE8 IE7 IE6 currentStyle 使用格式“ 标记对象.currentStyle[属性] ”

class属性 “style.className”

函数

函数的定义

常用

function abc(){

}

变量的方式

let abc = function(){

}

注意点:事件设置

box.onclick = abc
box.onclick = abc() 错误  abc()会提前执行

形参自动接收的数组对象 => 重载

arguments

函数会被浏览器引擎解析, 当HTML结构加载完成,引擎会事先将函数加载至缓存中

( 函数无论定义在调用前还是后,都可以使用)

对象

对象中也有属性 和 方法

JS中对象就是以键值对的方式组合,用花括号包裹起来的内容

对象调用

student.age => student[‘age’]

对象属性自定义

如果需要在对象中新增一个属性

对象. 属性 = 属性值 (新增了一个属性)

对象 包含了 document.querySelector 中取出的标签对象

因此我们时常可以在标记存入一些具有特殊意义的变量

定时器的使用

1、setInterval(function(){}, duration) 执行函数 和 间隔时间

2、clearInterval

DOM 节点

节点树 (文本、属性、元素)

元素节点树 (元素(标记))

创建标记

createElement(标记名称)

append 父元素末尾添加子元素 (appendChild)

prepend 父元素开头添加子元素

删除标签

remove 将标签本身删除

empty 将标记的内容清空

removeChild 父元素将指定的子元素删除

设置标记属性

对象.属性 = 属性值

对象.setAttribute(属性,属性值)

事件使用

onmouseover

onmouseout

onmousedown

onmouseup

onmousemove

onclick

ondblclick

onchange 针对输入框标记有效

onblur 失去焦点

onfocus 获取焦点

事件event

clientX 当前元素在显示区域中的X坐标位置

clientY 当前元素在显示区域中的Y坐标位置

offsetX 当前元素在具有定位级的父元素中的X坐标位置

offsetY 当前元素在具有定位级的父元素中的Y坐标位置

event 在不同事件中事件中的属性的个数。类别是不同的

onmousemove中 X,Y…

onkeypress 中 key keyCode…

事件绑定

addEventListener(事件名称,函数) 绑定

removeEventListener(事件名称,函数) 解绑

一个事件可以绑定多个函数

一个函数绑定多个事件

组织事件冒泡

 //阻止事件冒泡
event.cancelBubble = true

window

window.document

window.history go(数字) 跳转到对应的缓存页面 forward back …

window.location reload 重新加载当前网页 replace将网页内容替换

window.open 打开一个新的网页

类别是不同的

onmousemove中 X,Y…

onkeypress 中 key keyCode…

事件绑定

addEventListener(事件名称,函数) 绑定

removeEventListener(事件名称,函数) 解绑

一个事件可以绑定多个函数

一个函数绑定多个事件

组织事件冒泡

 //阻止事件冒泡
event.cancelBubble = true

window

window.document

window.history go(数字) 跳转到对应的缓存页面 forward back …

window.location reload 重新加载当前网页 replace将网页内容替换

window.open 打开一个新的网页

window.localStorage 本地储存(关闭浏览器消失)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值