js4-排他思想 this 自定义属性 tab选项 数组/字符串常用方法 定时器

排他思想

  • 在同一属性上, 设置全部变量的这一属性清空, 当前响应事件的对象设置这一属性
    换肤进一步封装
    隔行变色+排他思想

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索引字符
    • 返回值: 截取字符组成的新的字符串
  • substr(start, length): 从起始索引号提取字符串中指定数目的字符

    • 参数: 从哪个索引开始取, 取多长
    • 返回值: 截取的字符串, 不修改原字符串
  • substring(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);
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一、JS前言 (1)认识JS 也许你已经了解HTML标记(也称为结构),知道了CSS样式(也称为表示),会使用HT...
    凛0_0阅读 7,746评论 0 8
  • 第5章 引用类型(返回首页) 本章内容 使用对象 创建并操作数组 理解基本的JavaScript类型 使用基本类型...
    大学一百阅读 8,505评论 0 4
  • 不知从何时起,自己爱上了荷。每每遇见,心情总会大好,细细回味,竟想不明白自己是受周敦颐《爱莲说》的影响,或者是本...
    娄仙阅读 2,435评论 1 1
  • 我承认,大学毕业才开始各种尝试还是有点晚了。 和现在大学生丰富多彩的生活相比,我的大学生活乏善可陈。 倒是步入社会...
    安娜姑娘阅读 1,657评论 1 1
  • 本文将分享怎么实现:利用三角函数来实现可触控的环形菜单Menu。 哈哈。。。老样子,上传一张本人超神的图片。 要实...
    小白lf阅读 5,028评论 0 8