js初级 |
js基础
tab切换
两个按钮
焦点
自定义一个存储值
定时器
轮播图
按钮
焦点
自定义一个存储值
定时器
计算距离
开始位置+移动距离*移动步数/总步数+‘px’
自执行函数
自执行函数作用:
主要用于隔离作用域,形成封闭空间,避免变量函数重名造成的覆盖问题
用法:
1.(函数)() 2.(函数()) 推荐用 3.匿名函数自执行也可以
字符串
字符串声明
字符串属性
str[下标]
字符串遍历
2.转换字符串大小的写法
toUpperCase()转成大写
toLowerCase()转成小写
3.查找指定下标处字符
charAt(数字下标) 给数字返回字符
4.获取指定字符位置
indexOf(字符,[指定一个位置开始])
获取指定字符最后位置 lastIndexOf('l'
5.截取字符串方法
substring(start,end) 1个值:代表从这个位置开始,到结尾。2个值:包左不包右 ,不能给负数,会把负数转换成0
截取字符串slice(start,end) ,用法同上,它能给负数,负数代表从右第一个开始
截取字符串 substr(开始位置,个数)用法同上,第2个代表截取个数
6.分割字符串
spilt('指定分割符'),把不要的字符分割出去,返回的是数组
7.替换字符串方法
replace('老的','新的'),只能替换一次,如果想全局替换,可用正则表达式,用法
this指向问题
1.在函数事件里当指当前调用者,其它均指向window
2.如果被套一层方法,其实还是window调用
解决办法: 在this正常的地方外面存储var that=this;
3.定时器里调用this也指向window
解决办法
外面存储this变量,里面调用这个变量
4.this在dom中,也就是行内事件调用 指的是当前对象
dom属性
访问父节点
子对象.parentNode
访问子节点
父对象.children
兄弟节点
nextElementSibling
哥哥节点
previousElementSibling
创建节点
创建元素节点
createElement
创建文本节点
createTextNode
添加节点
appendChild
用法: 父对象.appendChild(子对象) 把子对象添加到父对象尾部
insertBefore
用法:父级节点.insertBefore(插入新的,老的);
删除节点
用法: 父对象.removeChild(子对象)
节点克隆
obj.cloneNode(true 全部复制
注意:克隆如有id会重复,产生覆盖问题,可移除。事件无法克隆,可用新对象直接加事件
数组:
1.数组的声明
2.数组访问与写入
3.数组的遍历
4.数组转字符串
1转字符串toString()
2 转字符串 join('连接符')
5.数组连接方法
连接两个数组合成一个 concat() -原数组不会改变
6.截取数组
slice() -原数组不会被修改
7.修改数组
splice(start,count,...) -原数组会被改变
特点1.给1个值,截取的是从开始到结尾,原数组会被改变,剩下截取后的
2.第2个值,代表截取个数
3.可以对原数组进行添加替换
8.数组反转
reverse() 颠倒数组中元素的顺序 等同于for循环倒序
9.数组倒序输出
push方法 往数组尾部推入