JS的学习总结
前⾔
JS的内容要想全⾯的总结的话,就现在的⽔平还不够,本⽂就对我个⼈印象⽐较深刻、⽐较重要的知识点进⾏⼀个概述。
JS
数组的操作
DOM节点的操作
节点的获取
节点的增删
节点属性的获取、设置、删除
JS变量
正则表达式
字符串常⽤的⽅法
window对象常⽤的⽅法
事件
零碎的⼀些知识点
Js的数组
定义⼀个数组var arr = [1,2,3];js中的数组不同于java中的数组,它更像java中的集合,因为js中数组的长度是可变的。
数组元素的常⽤⽅法
push():向数组的末尾添加⼀个或更多元素
unshift():向数组的开头添加⼀个或更多元素
pop():删除数组最后⼀个元素并返回其值
shift():删除数组的第⼀个元素
indexOf():搜索数组中的元素,并返回它所在的位置。
reverse():反转数组的元素顺序
toString():把数组转换为字符串,并返回结果
sort():对数组的元素进⾏排序。
every():检测数组中的每⼀个元素是否都符合你指定的那个标准,括号⾥⾯可以跟回调函数,返回⼀个布尔值。有短路的效果,如果数组中的第⼀个元素不符合要求为false,则整个表达式的结果即为false;如果全部正确,才返回true;
遍历就是for…in
还有个arguements对象
在函数体内可以通过arguements对象来访问这个参数类数组,从⽽获取传递给函数的每⼀个参数、每⼀个实参。
通过arguements.length获得函数被传⼊参数的数量,
function add(a, b){...}; add(1, 2, 3);
则arguements.length = 3;
如果⼀个函数定义了接收两个参数,也就是形参有两个,但是实参只传递了⼀个,那么第⼆个参数的值即为undefined;
DOM节点的操作
节点的获取
除了第⼀个,别的都是获取的数组,所以如果你确定只有这⼀个className,就选择⼀下ElementsByClassName()[0]。
节点的增删
appendChild(新节点):需要通过⽗元素然后添加⼦元素,也可以在知道⼦元素的前提下使⽤childNode.parentNode().appendChild()这个childNode不是⼀个既有的变量,是你创建出来的那个⼦节点。
insertBefore(已知节点):在已知节点之前插⼊。
removeChild(要删除的节点): 删除⼀个节点
节点属性的获取、设置、删除
元素节点.getAttribute(元素属性名) :获取相应的元素属性
元素节点.setAttribute(属性名,属性值):添加元素的属性
removeAttribute(属性名):删除元素中的指定属性
JS变量
数据类型有
Object
Number
undefined
null
String
boolean
变量类型
值类型:
占⽤空间固定,保存在栈中
是值的拷贝
使⽤typeof检测数据的类型
引⽤数据类型
占⽤空间不固定,保存在堆中
保存与复制的是指向对象的⼀个指针
使⽤instanceof检测数据的类型
垃圾收集:
Js具有⾃动垃圾收集机制,执⾏环境会负责管理代码执⾏过程中使⽤的内存。
垃圾收集会按照固定的时间间隔出那些不再继续使⽤的变量,然后释放其占⽤内存。
回收机制:
标记清除:垃圾收集器在运⾏的时候会给存储在内存中的所有变量都加上标记,然后,它会去除环境
中的变量以及被环境中变量引⽤的变量标记,在此之后,再被加上标记的变量将被视为准备删除的变量。
引⽤计数:引⽤计数是跟踪记录每个值被引⽤的次数。当声明了⼀个变量并将⼀个引⽤类型值赋值给该变量时,这个值得引⽤次数就是1;当这个值得引⽤次数为0的时候,则说明没有办法再访问到这个值了,其占⽤的内存空间将被回收起来。
如下:
var a ={name:"zhangsan"};
a ={name:"lisi"};
那么原先的这个对象就没有变量再指向它了,也就是引⽤计数为0了,则内存空间被回收。
正则表达式
就简单的说⼏个⽅法吧,各个符合怎么编写就不详细列举了,⽹上很多。
<():⽤于检索字符串中的正则表达式的匹配。该函数返回⼀个数组,其中存放匹配的结果。如果未到匹配,则返回值为null。
/h/.exec("hello,world")// h
还有四个属于字符串的⽅法
match: 到⼀个或多个正则表达式的匹配
replace: 替换与正则表达式匹配的⼦串
search: 检索⼀个⼦字符串,并显⽰匹配⽗字符串的起始位置
spilt: 把字符串按照括号中传⼊的标记分割为字符串数组
字符串常⽤的⽅法
charAt(index): 返回字符串中相应索引位置的字符。
indexof(str): 从前向后检索字符串,字符串使⽤ indexOf() 来定位字符串中某⼀个指定的字符⾸次出现的位置:
substring(from,to): ⽤于提取字符串中介于两个指定下标之间的字符。
substr(start,length): 在字符串中抽取从 开始 下标开始的指定数⽬的字符
trim(): 去除字符串两边的空⽩
slice(): 提取字符串的某个部分,并以新的字符串返回被提取的部分。
window对象常⽤的⽅法
navigator导航器对象
cookueEnabled:返回指明浏览器中是否启⽤cookie的布尔值
js数组方法总结screen显⽰器对象
height:返回屏幕的像素⾼度
width:返回屏幕的像素宽度
history对象
back() :返回上⼀个url
forward():返回下⼀个url
go():返回某个具体的页⾯
location位置对象
href:设置或返回完整的url
search:设置或返回从问号(?)开始的url
pathname:设置或返回当前url的路径部分
reload():重新加载当前页⾯
document⽂档对象
cookie:设置或返回与当前⽂档有关的所有cookie
URL:返回当前⽂档的URL
scrollTo(x,y):将窗⼝中的内容滚动到指定位置
open():打开⼀个新的⽂档,可以⽤来打开⼀个新的窗⼝
setTimeout(fn,time):当到了指定的毫秒数,⾃动执⾏功能
setInterval(fn,time):按指定周期重复执⾏功能代码
confirm(str):返回⼀个布尔值
事件
事件有很多,这⾥就不⼀⼀赘述了,介绍⼏种常⽤的事件:
onclick:⿏标左键单机事件
onmouseenter:当⿏标指针移动到元素上时触发,如果移动到选中元素的⼦元素上不会触发。
onmouseover:和上⾯类似,只不过⿏标移动到其⼦元素上也会触发⽗元素的事件。
onload:⼀张页⾯或⼀幅图像完成加载。通常⽤于 元素,在页⾯完全载⼊后(包括图⽚、css⽂件等等。)执⾏脚本代码。
onscroll:当⽂档被滚动时发⽣的事件。
onblur: 元素失去焦点时触发,常⽤于表单的校验。
onchange:该事件在表单元素的内容改变时触发,onchange 事件也可⽤于单选框与复选框改变后触发的事件。
onsubmit:表单提交时触发
零碎的⼀些知识点
parseInt(str):将字符串转化为数字,从第⼀位开始,能转化多少就显⽰多少,⽐如parseInt("1a") // 1如果使⽤number的话就是整体的进⾏转换,显⽰NAN。
还有⼀些es6新增的语法,⽐如find()、reduce()、foreach()、map(),这⾥就不再说了,需要回顾的时候可以去官⽅⽂档看⼀下。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论