一、input 焦点定位

1、定位input:(this.$refs.searchInput as HTMLInputElement).focus();
 
2、定位search,根据css选择器:
(document.querySelector('.search .van-field__control') as HTMLInputElement)!.focus()
<input
ref="searchInput"
class="search"
autofocus>
 
二、截取字符串
截取字段ClassName的字符,ClassName长度大于4时,取前4位字符,其余显示...
ClassName.length > 4 ? ClassName.substring(0,4) + '...'
控制字符显示小数点后两位
testNumber.toFixed(2)
 
三、vue手机号码344格式化
Mobile: 17853560672
userPhone: Mobile.replace(/\s/g, '').replace(/(\d{3})(\d{0,4})(\d{0,4})/, '$1 $2 $3') }
 
四、vue字符串转换
let testString = "230.98"---转成数字类型
   Number(testString)  // 230.98
   parseInt(testString) // 230
   parseFloat(testString) // 230.98
   + testString //230.98
   ~~ testString //230
var testArray = [ 1, 2, 3 ] ---数组转成字符串
   testArray.join(',')  // “1,2,3”
   testArray.join('  ')  // “1 2 3”
 
五、数组操作
1、shift:删除原数组第一项,并返回删除元素的值;如果数组为空则返回undefined 
  1. var a = [1,2,3,4,5];   
  2. var b = a.shift();     //a:[2,3,4,5] b:1  
2、unshift:将参数添加到原数组开头,并返回数组的长度
  1. var a = [1,2,3,4,5];   
  2. var b = a.unshift(-2,-1);    //a:[-2,-1,1,2,3,4,5] b:7  
3、pop:删除原数组最后一项,并返回删除元素的值;如果数组为空则返回undefined
  1. var a = [1,2,3,4,5];   
  2. var b = a.pop(); //a:[1,2,3,4] b:5  
4、push:将参数添加到原数组末尾,并返回数组的长度
  1. var a = [1,2,3,4,5];   
  2. var b = a.push(6,7);    //a:[1,2,3,4,5,6,7] b:7  
 
5、concat:返回一个新数组,是将参数添加到原数组中构成的 
  1. var a = [1,2,3,4,5];   
  2. var b = a.concat(6,7);    //a:[1,2,3,4,5] b:[1,2,3,4,5,6,7]  
 
6、splice(start,deleteCount,val1,val2,...):从start位置开始删除deleteCount项,并从该位置起插入val1,val2,... 
  1. var a = [1,2,3,4,5];       
  2. var b = a.splice(2,2,7,8,9);     //a:[1,2,7,8,9,5] b:[3,4]   
  3. var b = a.splice(0,1);    //同shift   
  4. a.splice(0,0,-2,-1);   var b = a.length;       //同unshift   
  5. var b = a.splice(a.length-1,1);    //同pop   
  6. a.splice(a.length,0,6,7); var b = a.length;    //同push 
 
7、reverse:将数组反序 
  1. var a = [1,2,3,4,5];   
  2. var b = a.reverse();       //a:[5,4,3,2,1] b:[5,4,3,2,1]  
 
8、sort(orderfunction):按指定的参数对数组进行排序 
  1. var a = [1,2,3,4,5];   
  2. var b = a.sort();     //a:[1,2,3,4,5] b:[1,2,3,4,5]
 
9、slice(start,end):返回从原数组中指定开始下标到结束下标之间的项组成的新数组 
  1. var a = [1,2,3,4,5];   
  2. var b = a.slice(2,5);     //a:[1,2,3,4,5] b:[3,4,5]  
 
10、join(separator):将数组的元素组起一个字符串,以separator为分隔符,省略的话则用默认用逗号为分隔符 
  1. var a = [1,2,3,4,5];   
  2. var b = a.join("|");      //a:[1,2,3,4,5] b:"1|2|3|4|5"  
 
六、页面滚动事件监听,超出一屏显示“返回”
mounted () {
     this.$nextTick(() => {
          window.addEventListener('scroll', this.handleScroll, true) // 监听滚动
    })
},
destroyed () {
         window.removeEventListener('scroll', this.handleScroll)
},
methods: {
   handleScroll () {
      let scrollObj = document.getElementById('contentBox') as HTMLElement  // 根据绑定div的id获取滚动区域
      let scrollHeight = scrollObj.scrollHeight // 滚动条的总高度
      let scrollObjTop = scrollObj.scrollTop // contentDiv到头部的距离
      console.log('scrollHeight', scrollHeight)
      console.log('scrollObjTop', scrollObjTop)
      if (scrollObjTop > 850) {   // 850是滚动div的一屏高度,超出一屏时isShowBack设置为true
           this.isShowBack = true
      } else {
          this.isShowBack = false
      }
  },
},

杂七杂八的JavaScript的更多相关文章

  1. javascript动态添加本地文件列表信息

    工作需要做了一个动态添加列表页面的小demo.用到了杂七杂八的javascript小知识. 而且并没有涉及到工作中的具体情境.有些通用,所以暂且罗列到这里.以后需要的时候可以直接拿来用. 看源码总是让 ...

  2. 【JAVASCRIPT】React学习- 杂七杂八

    摘要 记录 React 学习中的小细节 setState setState 有一定的时间延迟,如果需要保证 setState 之后执行某些动作,可以采用以下方法 this.setState({ vis ...

  3. [原创作品] javascript 实现的web分页器原理

    很久没有写博客了,因为最近忙于一些杂七杂八的事情.不过,互联网的价值在于信息共享,因为共享,所以互联网才能飞快发展.博主建了一个技术共享qq群:164858883,因为目前人数还比较少,活跃度还不是很 ...

  4. JavaScript动漫作品(闭幕)

    笔者:Steven Riche 发布时间:2014年2一个月18 原文链接:http://code.tutsplus.com/tutorials/javascript-animation-that-w ...

  5. ArcGIS API for JavaScript 4.2学习笔记[0] AJS4.2概述、新特性、未来产品线计划与AJS笔记目录

    放着好好的成熟的AJS 3.19不学,为什么要去碰乳臭未干的AJS 4.2? 4.2全线基础学习请点击[直达] 4.3及更高版本的补充学习请关注我的博客. ArcGIS API for JavaScr ...

  6. 【前端安全】JavaScript防流量劫持

    劫持产生的原因和方式 在网页开发的访问过程中,http是我们主要的访问协议.我们知道http是一种无状态的连接.即没有验证通讯双方的身份,也没有验证信息的完整性,所以很容易受到篡改.运营商就是利用了这 ...

  7. JavaScript有关的10个怪癖和秘密(转)

    数据类型和定义 -------------------------------------------------------------------------------------------- ...

  8. javascript 基础篇 随课笔记

    !DOCTYPE HTML><html><head><meta name="content-type" content="text/h ...

  9. JavaScript中字符串类型

    字符串类型 字符串介绍 这是程序里面使用最为广泛的一-种类型.在JavaScript里面, 可以使用单引号,也可以使用双引号: 字符串这种数据类型非常霸道,它和其他数据类型相加都会被转换后才为字符串类 ...

随机推荐

  1. MySql:SELECT 语句(一)基本查询

    1.检索单个列 语句:SELECT col FROM tablename; 2.检索多个列 语句:SELECT col1, col2 FROM tablename; 3.检索所有列 使用 * 通配符. ...

  2. 2017-11-03 Fr OCT 球体积的导数为球表面积

    上学期学立体几何时注意到这一点.去问林老师,没听明白(写完笔记后发现林老师讲得是对的,惭愧).今天下午考历史的时候突然想起来. 除了球体积的导数为球表面积外,还注意到圆体积的导数为圆周长.今天中午看w ...

  3. JDK、JRE、JVM的区别

    JDK: JDK(Java Development Kit)顾名思义它是给开发者提供的开发工具箱,是给程序开发者用的.它除了包括完整的JRE(Java Runtime Environment),Jav ...

  4. MySQL经典练习题

    表名和字段 –1.学生表 Student(s_id,s_name,s_birth,s_sex) –学生编号,学生姓名, 出生年月,学生性别 –2.课程表 Course(c_id,c_name,t_id ...

  5. HDU6030 Happy Necklace(递推+矩阵快速幂)

    传送门:点我 Little Q wants to buy a necklace for his girlfriend. Necklaces are single strings composed of ...

  6. CSS实现左侧多级菜单栏

    首先看要实现的效果, 主要是关心技术实现, 所以没怎么美化 我也是初学html, 所以写的比较啰嗦 1. 使用列表将内容显示出来 <!DOCTYPE html><html>&l ...

  7. Python:每日一题001

    题目:有四个数字:1.2.3.4,能组成多少个互不相同且无重复数字的三位数?各是多少? **程序分析:可填在百位.十位.个位的数字都是1.2.3.4.组成所有的排列后再去 掉不满足条件的排列. 个人解 ...

  8. 模板学习实践二 pointer

    c++ template学习记录 使用模板将实际类型的指针进行封装 当变量退出作用域 自动delete // 1111.cpp : 定义控制台应用程序的入口点. // #include "s ...

  9. django by example 第四章 dashboard处html无法渲染问题

    描述: 实现django by example 代码时,第四章 dashboard处html无法渲染问题. 此时报错,NoReverseMatch at /account/login/, Error ...

  10. Java多线程系列1 线程创建以及状态切换

    我们知道线程线程有三种创建方式 1实现Runnable接口 2 继承Thread类 3使用Callable和Future接口创建线程.具体是创建Callable接口的实现类,并实现clall()方法. ...