js4-排他思想 this 自定义属性 tab选项 数组/字符串
2017-11-08 本文已影响0人
前端雨
排他思想
- 在同一属性上, 设置全部变量的这一属性清空, 当前响应事件的对象设置这一属性
换肤进一步封装
隔行变色+排他思想
this 响应事件的那个对象
- 元素事件的方法体中this一般代指事件源
- 定时器方法是window的方法, 所以定时器中的this代指window
- 一般如果想要在元素事件中使用this类似的功能, 可以在进入函数后, 用一个变量例如self引用this代指的
自定义属性
- 自定义属性名可以随意起, 但需要见闻知意
- 格式:
button.name = '第一个按钮';
tab选项
- 自定义属性的使用
- 获取btn的索引值保存在自定义属性中, 供显示相应盒子调用
- 排他思想的使用
- 每个btn在onclick事件中, 当前按钮排他设置类名, 盒子排他显示(当前显示盒子的索引等于当前点击按钮的索引)
数组的常用使用方法
- 函数从那几个方面进行学习:
- 函数功能
- 参数: 可选与必需
- 函数返回值是什么数据类型
数组对象的方法
-
concat()
连接两个或者更多的数组, 并返回新数组- 原数组不变
- 参数: 合并的数组
- 返回值: 合并后的新数组
- ps: map,filter,some,every等不改变原数组
-
arr.join()
: 元素通过指定的分隔符进行分隔, 将当前数组中的元素拼接成一个大字符串- 原数组不变
- 参数: 可选. 分隔符默认","
- 返回值: 字符串
//'123456'字符串转换成'654321'
var str = '123456'
var change = str.split('').reverse();
var newStr = change.join('');
-
pop()
: 删除并返回数组最后一个元素- 功能: 删除数组最后一个元素, 并把删除元素返回
- 返回值:删除元素
-
push()
: 向数组的末尾添加一个或更多元素, 返回新的长度-
功能: 向数组的末尾添加一个或更多元素, 并且默认返回新的数组长度
-
参数: 元素 数组
-
返回值: 返回数组的长度
var a=[]; a.push('1111'); //添加了一个元素, 所以数组默认返回值为1
-
-
shift()
: 删除并返回数组的第一个元素- 返回值: 删除的第一个元素
- 会修改原数组
-
unshift()
: 向数组的开头添加一个或更多元素, 并返回新的长度- 参数: 添加元素 数组
- 返回值: 新的长度
- 会修改原数组
-
slice(start, end)
: 从某个已有的数组返回选定的元素- 功能: 从数组中取某几个元素, 以新数组格式返回
- 参数取值: [start, end)
- start-必需. 从哪个索引开始选元素, 可用负值-1, 是倒数第一个元素
- end-可选. 从哪个索引结束, 取不到索引所在元素
- 返回值: 返回一个新的数组, 包含从start到end(不包含该元素)的数组
- 不会修改原数组
-
splice(index, howmany, item1, ..., itemX)
: 删除元素, 并向数组添加新元素- 参数:
- index-必需. 从哪个索引开始
- howmany-必需. 删几个元素
- items-可选. 添加新的元素, 相当于做了替换功能
- 返回值: 返回删除元素的新数组
- 会修改原数组
- 参数:
-
sort(sortby)
: 对数组进行排序处理- 参数: sortby必需是个函数
- 可以做冒泡排序.
- 会修改原数组
-
reverse()
: 颠倒数组里的元素顺序- 返回值: 操作的数组
- 会修改原数组
String对象方法
-
stringObject.charAt(index)
: 返回在指定位置的字符-
功能: 根据索引获取索引对应的字符
-
参数: 必需. 索引
-
返回值: 获取的字符
var str = 'hi'; str.charAt(1); //返回i
-
-
stringObject.concat()
: 连接字符串- 参数: 拼接的字符串
- 返回值: 返回新的拼接的字符串
- 不修改原字符串
- 或者使用 + 法的隐形转换
-
split(separator, howmany)
: 把字符串分隔为字符串数组- 参数
- separator-必需. 分隔符. 如果把空字符串("")作为separator, 会把字符串中所有字符拆成单独的元素
- howmany- 可选. 指定新数组的长度
- 返回值: 新数组. 不修改原字符串
- 参数
-
stringObject.lastIndexOf(searchvalue, fromindex)
: 从后向前检索字符串 -
stringObject.indexOf(searchvalue, fromindex)
: 检索字符串- 参数
- searchvalue-必需. 检索的字符串. 区分大小写
- fromindex-可选. 从哪个角标开始搜索. 默认从头到尾搜索, 搜索到第一个为止.
- 返回值: 返回某个指定的字符串值在字符串中的首次位置. 没搜索到, 返回-1.
- 参数
-
stringObject.slice(start, end)
: 提取字符串的片段, 并在新的字符串中返回被提取的部分- 参数: 取值区间[start, end)
- start-从哪个索引开始去
- end-取到哪个索引为止, 取不到end索引字符
- 返回值: 截取字符组成的新的字符串
- 参数: 取值区间[start, end)
-
substr(start, length)
: 从起始索引号提取字符串中指定数目的字符- 参数: 从哪个索引开始取, 取多长
- 返回值: 截取的字符串, 不修改原字符串
-
substring(start, stop)
: 提取字符串中两个指定的索引号之间的字符- 参数: 都是非负整数, 可以理解为取值区间[start, stop)
- start-必需. 从哪个索引开始取
- stop-可选. 到结束索引元素为止(不包括自身元素)
- 返回值: 返回截取的字符串, 不修改原字符串
- 参数: 都是非负整数, 可以理解为取值区间[start, stop)
-
toLowerCase()
: 把字符串转换成小写 -
toUpperCase()
: 把字符串转换成大写 -
应用判断文件上传
定时器
- 分类: 一次性定时器, 延时定时器
-
setTimeout(code, millosec)
: 多少毫秒后, 执行代码-
参数: 函数名, 延时的时间
var timer = setTimeout(function(){ alert("1秒后显示的弹窗"); },1000); //销毁定时器 clearTineout(timer)
-
注意: 延时定时器,不用之后要及时销毁, 否则会造成内容泄露
-
-
setInterval(code, millisec)
: 循环定时器-
参数: 间隔一定时间执行的代码, 间隔时间(毫秒)
var num = 0; var timer = setInterval(fn,1000); function fn(){ console.log(num++); } //销毁循环定时器 clearInterval(timer);
-