js简单总结

高级js一
1.变量
申明变量。带var就是局部变量,有作用域的限制,函数内的var变量不能在函数外使用,不带var的是全局变量,可以在函数内外使用
基本数据类型: 数值型,布尔型,字符串型
复合数据类型: 数组,对象
特殊数据类型: undefined ,null
变量传值方式:基本数据类型是值传递(复制传递)
复合数据类型是引用传递(指针指向)
2.运算符
算数运算符:+-/% *
关系运算符:> >= < <= == === != !==
逻辑运算符:&& || !
三元运算符:表达式?a:b
一元运算符:– ++
赋值运算符:=
字符串运算符(字符串拼接)+ +=
小括号:提高运算优先级
3.分支结构
if(变量初始化;变量条件表达式;变量更新){}
if(变量初始化;变量条件表达式;变量更新){}else{}
if(变量初始化;变量条件表达式;变量更新){}else if(变量初始化;变量条件表达式;变量更新){}else if(变量初始化;变量条件表达式;变量更新){}..
switch(判断表达式){case 值1:代码块;break;case 值2:代码块;break;case 值3:代码块;break;}

4.循环结构
do while()
while(变量条件表达式){代码块 变量更新}
for(变量初始化;变量判断表达式;变量跟新){代码块}
5.js表现形式
浏览器执行的是JavaScript
服务器执行的是nodejs
flash执行的是actionscript
6.js执行过程
js的输出有 document.write//输出在body alert()//弹出警告框 console.log()//输出在控制台 confirm()确认框 prompt(输入框)
7.js简介
解释性,嵌入式,基于对象的编程语言,有解释器(浏览器)就可以解析
8.函数
function 函数名(形参列表){函数体}
匿名函数,就是没有名字的函数 ,var an=function(){}
函数的调用 函数名()
arguments数组保存了所有的实参
函数默认没有返回值,如果函数体内有return,则return后面的内容就作为函数的返回值,并且return终止了代码的执行
9.遍历
js提供了一种遍历的方法for(i in arr){}
高级js二
1.BOM
broswer object model浏览器对象模型
window对象,顶级作用域,创建的全局变量,函数,都是window对象的成员
例如、document.write(),alert();console.log(),prompt(),confirm(),parseInt(),parseFloat(),setInterval(),setTimeout();
screen对象有width height availwidth,availheight 屏幕信息
history对象有back,forward,go
location对象有href ,assign(选取)
navigator对象是浏览器信息,appName,Agent,..

2.DMO
document model object 文档对象模型
文档树 html根 子节点 兄弟节点 父节点 后代
节点操作
访问父节点 parentNode
访问子节点 children firstChild lastChild childNodes
访问兄弟节点 siblings nextSibling prevSibling
节点常用属性 节点名 nodeName 节点类型 nodeType

3.作用域链
作用域链的意思是,访问一个局部作用域内的变量时,当变量在该局部作用域内找不到时,会一层一层往上找,直到找到顶级作用域(window对象)
在局部作用域中,如果创建变量用了var,就是局部作用域变量,如果没用var,就算是在函数体内创建的变量,也属于全局变量
优点:可访问其他作用域内的变量
缺点:找来找去,浪费资源
4.获取节点
js原生的办法是:(都是document的对象)
document.getElementById(id);
document.getElementsByTagName(标签名);
document.getElementsByName(name的属性值);
document.getElementsByClassName(类名);
document.querySelector(‘选择器’);
document.querySelectorAll(‘选择器)
5.获取和设置节点属性
获取节点属性
节点.getAttribute(‘属性名’);
设置节点属性
节点.setAttribute(‘属性名’,’属性值’)
删除属性
节点.removeAttribute(‘属性名’)
6.标签内的内容
节点.innerHTML();
节点.innerText();
7.表单内的内容
节点.value();
8.DOM–css
节点.style.属性名=‘值’;
9.创建节点
document.createElement(‘标签名’)
document.cloneNode(true/false);true深克隆(克隆标签,内容,样式全部)和false浅克隆(只克隆标签,样式,不克隆内容)
10.插入节点
节点a.append(节点b)将节点b放在节点a的下面
节点a.prepend(节点b)将节点b放在节点a的前面
insetBefore(新节点,旧节点);
11.删除节点
删除节点必须找到其父节点
parentNode.removeChild();
高级js三
1.什么是事件
鼠标,键盘,触摸设备所引发
2.事件分类
onclick ondbclick onmouseover onmouseout onmousemove onkeyup onkeydown onkeypress oninput
onblur onfoucs onchange onsubmit onready onresize
3.事件流
就是一个元素(节点)触发了某个事件,其父类祖辈都会触发相同的事件,只是其父辈祖辈没有绑定事件而已
冒泡:由子类触发,其父辈,其爷爷辈,其祖辈相继触发,由里到外进行(可以用来事件委托)
捕获:由长辈触发,其子代,孙代,孙孙代相继触发,有外向里进行
4.事件触发
鼠标触发鼠标事件
键盘触发键盘事件
5.事件监听
节点1.addEventListener(‘click’,function(){});//同一个接单可绑定多个事件
节点1.addEventListener(‘mouseover’,function(){})
6.事件对象
事件监听是为了当事件被触发时,执行相应的函数,当函数被绑定时,事件被触发时,传递过来一个参数,该参数保存了触发事件的详细数据
包括触发的位置,目标,由谁触发等
7.js面向对象
在构造函数中
私有属性和方法:没有带this
公有属性和方法:带this
公共属性和方法保存在构造函数的原型中prototype,所有的对象都引用同一个
每一个构造函数中都有一个原型,原型是系统对象object附加的,原型中有一个构造器constructor,其名字就是该构造函数的名字
也可以用json来创建对象,所有的对象都指向object var p={name:’lc’,age:19,work:’it’}
高级js四
1.object
2.this关键字
3.断点与调试
4.原型
5.原型链
6.原型链仿造继承
7.一切皆对象
8.Boolean对象不要用
9.Number对象
10.String对象
11.Array对象
12.Date对象
13.Function对象
14.Math对象

高级js五(正则)
1.概念:处理字符串
2.原子和元字符
3.限定符
4.案例(手机号验证 邮箱验证 敏感词替换 手机号屏蔽 用户名屏蔽 长数字加逗号)
手机号验证var reg=/^1[3-8]\d{9} /;varreg=/\w+@([09az]+.)+(com|cn) / ; 邮 箱 验 证 v a r r e g = / \w + @ ( [ 0 − 9 a − z ] + . ) + ( c o m | c n ) /;
手机号屏蔽中间四位var reg=/(\d{4})(\d{4})(\d{4})/;num.replace(reg,’ 1 1 ∗ ∗ ∗ ∗ 3’)
长数字加逗号 var reg=/\d{1,3}(?=(\d{3})+ )/;num.replace(reg, ) / ; n u m . r e p l a c e ( r e g , ′ &,’)
5.转义符号
6.开始结束^ $
7.分组捕获()
8.预查
9.模式方法
10.字符串的正则方法
11.多个条件

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值