js基础总结

JS基础
为什么开发js?
    由于拨号上网网速慢,验证信息时间长
js的作用?
    能做各种的网页前端特效
    js能用来在客户端(vscode,网易云音乐,uniapp)
    js能用来做服务器端(Node.js)
js的组成部分:
    ECMAScript:定义核心语法结构
    DOM:文档对象模型
        用DOM来自前端的增删改查
    BOM:浏览器对象模型
js的调试
    console:控制台,展示打印错误信息
    network:展示所有的网络请求
        css/images/js/接口
    application:应用
        cookice/缓存/数据库
js的三中输出方式:
    1、在控制台输出:
        列如:console.log('')
    2、在浏览器弹出信息
        列如:alert('')
    3、在DOM文档输出
        document.write()
js的两种交互方式:
    corfirm():确认框
    prompt():输入框
js的语法结构:
    1、js区分大小写
    2、js的标识符和命名规则
        标识符:用来定义变量,常    量,函数,类等名称
        命名规则:
            1、标识符可以是字母,数字,下划线和$,但首字母不能以数字开头
            2、不能使用关键字和保留字
    3、注释:
        //:单行注释
        /* */:多行注释
        方法描述:
        /*
        *@param 参数类型 参数名 返回值
        *@return 返回类型
        */
    4、可选的分号
        js中每行语句的结束以分号结束
        建议:
        强制在每条语句的结尾加上分号
        原因:
        1、代码量较大是,不填写分号情况下压缩文件会造成错误
        2、让解析器判断语句是否结束时会影响性能
    5、变量的定义
    定义变量的三种方式:var、let、const(一般用来定义常量)
    区别:
    1、使用var定义的作用于域作用于顶端
    2、let定义的变量的作用域作用于当前代码块
    var可以定义多个同名变量,let只能定义一个
    3、const一般定义常量,不可更改,声明对象可以更改
js两种引入方式?:
<script></dcript>
<script src=''></dcript>
严格模式:
开启严格模式:'use strict'
运算符:
    1、算数运算符:+、-、*、/、%
    2赋值运算符:+=,-+,*=,/=
    3、判断运算符:==,===(恒等于,会判断两边的数据类型和值),
    3、逻辑运算符:&&:与、||:或、!:非
    4、三元运算符:判断条件 ?表达式1:表达式2
js数据类型:
分为基本数据类型和复合数据类型
基本数据类型:整型、字符串、布尔、null和undefined
            null和undefined又称特殊数据类型
复合数据类型:对象(对象、数组、函数)
检查数据对象的数据类型:typeof
整型:整数和浮点数
浮点数相加不准:因为js采用了IEEE754标准,该标椎对于十进制精度不准
tofixed(n):保留n位小数,四舍五入
十六进制:0x
八进制:0o
二进制:0b
Number.MAX_VALUE:js满足的最大值
数值间强制类型转换:
parseInt()/parseFloat()/Number()
转换字符串:
parseInt()
    1、转换非字符时返回整数位
    2、以字母开头是返回NaN
parseFloat()
    1、转换非字符时返回浮点位
    2、以字母开头是返回NaN
number:含非数值是返回NaN
转换布尔值时:parseInt()和parseFloat()返回NaN
            Number()返回true为1,FALSE为0
转换Null时:parseInt和parseFloat返回NaN
            number返回0
undefined:返回NaN
字符串:
字符模板:`${}`
length():获取字符串长度
复合数据类型:
对象:是值得集合,键值对
创建对象的方式
    1、通过{}来创建
    2 通过new Object()来创建
        var obj = new Object();
    3、通过Object.create()来创建,需要传递对象的原型链
    var obj = Object.create(Object.prototype)
    原型链:
    var obj = new Object()
    Object.prototype.add = function(){

    } 
对象的访问和设置
1、通过对象、属性来设置和访问
2、可以通过对象['属性']设置和访问
this关键字
    在对象中,this关键字代表的是当前对象
对象属性的检测:
in:检测属性是否为自身或继承来的

Dom:文档对象模型(Document Object model)
主要功能:
操作页面上的所有文档结构
document:是文档对象的顶级对象
静态属性:document.doctype:文档结构
document.title:文档标题
document.title = ‘文档标题’
document.body:获取主题内容
document.body.bgColor = ‘文档颜色’
Dom树:
节点:元素节点:由html的元素标签组成的界面
属性节点:html标签属性
内容节点:html中的内容
获取文档对象的方式
1、document.grtElementByid()通过id获取文档属性
同一个页面相同id最好只使用一次
因为获取id时获取不到
2、通过class属性来获取文档属性
document.getElementsByClassName(‘class属性’);
3、通过html标签来获取文档属性
document.getElementsByTagName(‘html标签’)
4、通过name属性来获取文档对象
doccument.getElementsByName(‘name属性’)
5、通过css选择器来获取匹配的单个文档对象
docuemnt.querySelector(‘’)
6、通过css选择器来获取匹配所有的文档对象
document.querySelectorAll()
操作页面样式的三种方式
1、通过style属性来更改样式
注意事项:
Js中style属性采用小驼峰
2、通过class属性来更改样式
1、通过对象.className =
2、对象.classList.add()
移除样式:
对象.classList.Remove(‘’)
对象.classList.contains():判断样式是否存在
if(common.classList.contains()){
common.classList.remove(‘’)//移除样式
}
js事件:
事件绑定的方式:
1、给对象绑定事件
2、给html标签绑定事件
onclick:鼠标单击事件
操作文本节点(内容)
innerHTML:获取节点下所有的内容,包括html标签
innerText:获取节点下的内容
识别空白行:
childNodes:获取所有的子节点;
firstChild:获取第一个子节点;
lastChild:获取最后一个子节点、
previousSibling:获取上一个兄弟节点
nextSibling:获取下一个兄弟节点
parentNode:获取父节点
不识别空白行:children:获取所有的子节点;
firstElementChild:获取第一个子节点;
lastElementChild:获取最后一个子节点、
previousElementSibling:获取上一个兄弟节点
nextElementSibling:获取下一个兄弟节点
parentElement:获取父节点
移除节点:remove();
创建节点:document.createElement(标签):动态创建节点
追加节点:append和appendChild
共同点:动态创建的对象追加到尾部
区别:append:支持追加文本内容,appendChild():只支持追加节点
append:支持追加多个,appendChild():只支持追加单个
before():在文档对象前插入节点;
after():在文档对象后面插入节点
Math对象:
Math.round():四舍五入
Math.floor():向下求整
Math.ceil():向上求整
Math.random():创建一个介于0到1之间的随机数
Math.max():最大值
Math.min():最小值
Math.PI():圆周率
字符串对象
1,可以将字符串当做数组来使,通过下标返回值
2、CharAT(下标):通过下标返回值
3、length():字符串长度
4、字符串位置的查找,存在返回下标,否则,返回-1;
indexOf():从前向后
lastIndexOF():从后向前
5.字符截取:
slice():如果不传值则截取整个字符串
slice(start):从start位置截取到末尾
slice(start,end)从start截取到end位置不包括end;
支持传递负值
substring():不支持传递负值
6。split()将字符串转换成数组
7.trim():去掉空白符
trimLeft():去掉左边空白符
trimRight():去掉右边空白符
数组:array()
新增:push():末尾新增一个或多个
pop():末尾移除元素
unshift();向头部新增一个或多个元素
shift():头部移除元素
splice()新增和删除多个数据
新增:splice(index,0,val,val,·····):从index位置新增多个元素
splice(index,num):从index位置删除num个元素
splice(index,num,val,val,val,····)从index位置删除num个元素新增多个元素
排序:
sort():
1.如果不传值的情况,采用ASCII排序
2.升序:格式:
数组.sort(function(a,b){return a - b})
3.降序:格式
数组.sort(function(a,b){return b - a})
4.倒序:reverse()
元素位置的查找:
indexOf:从前向后存在返回下标,否则,返回-1;
lastindexOf:从后向前存在返回下标,否则,返回-1;
includes():存在true 不存在false;
判断是否为数组:Array.isArray()
foeEach():item:值,index:下标
数组.foeEach(function(item,index){

})
every():全部满足返回true,否则返回false
some():有一项满足条件返回true 否则返回falseA
filter():返回条件的元素组成新数组;
map():返回计算后的数组
for in:枚举对象的键
for of:枚举对象的值

事件:
事件对象:var event = e || windown.event
keyCode():

事件源:发起时件的目标对象
事件的绑定方式:
    1.在html元素上绑定事件
    2.在文档上绑定事件
事件冒泡:从最底层往上返
阻止事件冒泡:e.stopPropagation()
事件捕获:window对象==>document ==> html ==> body ==> 快
表单事件:onsubmit()表单提交事件
        onfocus()获取焦点时触发的事件
        onblur():失去焦点时触发的事件
        onchange():内容改变是触发的事件
        oninput():内容输入是触发的事件
键盘事件:onkeypress():按下某个键盘键并释放是触发,如果按住某个键,会不断触发该事件。该事件处理函数返回时,会取消默认的动作
        onkeydown():按下时触发的事件
        onkeyup():松开时触发的事件
鼠标事件:
onclick():鼠标单击事件
ondblclick():鼠标双击事件
onmouseover():鼠标移动上时事件
onmouseout():鼠标移开时触发的事件

–>

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值