1.截取字符串

  var a="/s/d";   console.log(a.substr(0,a.indexOf("/",1)))  // 得到/s

2. //json数组 合并去重保留后面的
  var songs = [
    {name:"羽根",artist:"羽根"},
    {name:"晴天",artist:"晴天1"},
    {artist:"周杰伦",name:"周杰伦1"}
  ];

  var arr = [
    {name:"羽根",artist:"羽根2"},
    {name:"晴天",artist:"晴天2"},
  ]
  for (let i = 0; i < arr.length; i++) {
    songs.push(arr[i])
  }
  function unique(songs){
    let result = {};
     let finalResult=[];
    for(let i=0;i<songs.length;i++){
       result[songs[i].name]=songs[i];
    }
    for(let item in result){
       finalResult.push(result[item]);
     }
    return finalResult;
  }
  console.log(JSON.stringify(unique(songs))); //[{"name":"羽根","artist":"羽根2"},{"name":"晴天","artist":"晴天2"},{"artist":"周杰伦","name":"周杰伦1"}]

3. 正则 替换<括号

  this.detailsForm.map(item => {
     if(item.indexOf("<") != -1) {
       let trunItem = item.replace(/\</g, '&lt');
      this.lists.push(trunItem);
     } else {
       this.lists.push(item);
    }

    })

4.  js 判断数据类型方法及 缺点   (  typeof,instanceof,constructor,Object.prototype.toString.call()    )

1.  typeof

  console.log(typeof 2);                        // number
  console.log(typeof true);                    // boolean
  console.log(typeof 'str');                    // string
  console.log(typeof []);                       // object     []数组的数据类型在 typeof 中被解释为 object
  console.log(typeof function(){});       // function
  console.log(typeof {});                      // object
  console.log(typeof undefined);        // undefined
  console.log(typeof null);                 // object     null 的数据类型被 typeof 解释为 object

缺点:  无法判断 [] {} 和null

2. instanceof

  console.log(2 instanceof Number);                           // false
  console.log(true instanceof Boolean);                       // false
  console.log('str' instanceof String);                            // false  
  console.log([] instanceof Array);                                // true
  console.log(function(){} instanceof Function);            // true
  console.log({} instanceof Object);                               // true    
  console.log(undefined instanceof Undefined);            //  Undefined is not defined
    console.log(null instanceof Null);                                  //   Null is not defined

  console.log(new Number(2) instanceof Number);        // true
  console.log(new Boolean(true) instanceof Boolean);    // true
  console.log(new String('str') instanceof String);             // true

       缺点:  instanceof 定义:  判断一个对象是否是数据类型的实例。    2, true ,'str'不是实例,所以判断值为false   无法判断null和undefined 

3. constructor

  console.log((2).constructor === Number);                // true
  console.log((true).constructor === Boolean);         // true
  console.log(('str').constructor === String);             // true
  console.log(([]).constructor === Array);           // true
  console.log((function() {}).constructor === Function);     // true
  console.log(({}).constructor === Object);           // true

   缺点:  如果原型被更改则类型也被更改 eg:

    function Fn(){};
    Fn.prototype=new Array();
    var f=new Fn();
    console.log(f.constructor===Fn);    // false
    console.log(f.constructor===Array); // true

4. Object.prototype.toString.call()

  var a = Object.prototype.toString;
  console.log(a.call(2));                         "[object Number]"
  console.log(a.call(true));      "[object Boolean]"
  console.log(a.call('str'));          "[object String]"
  console.log(a.call([]));        "[object Object]"
  console.log(a.call(function(){}));   "[object Function]"
  console.log(a.call({}));        "[object Array]"
  console.log(a.call(undefined));     "[object Undefined]"
  console.log(a.call(null));       "[object Null]"

   完美

js 常用总结的更多相关文章

  1. js常用工具类.

    一些js的工具类 复制代码 /** * Created by sevennight on 15-1-31. * js常用工具类 */ /** * 方法作用:[格式化时间] * 使用方法 * 示例: * ...

  2. Js常用技巧

    摘录:http://crasywind.blog.163.com/blog/static/7820316920091011643149/ js 常用技巧 1. on contextmenu=" ...

  3. JS常用的标准函数

    原文:JS常用的标准函数 1.Array类型函数 array.concat(item...) 函数功能:关联数组,实现数组相加功能,但并不影响原先数组,concat返回新数组. array.join( ...

  4. JS 常用功能收集

    JS 常用效果收集 1. 回到顶部>>    爱词霸

  5. JS常用校验方法(判断输入框是否为空,数字,电话,邮件,四舍五入等)

    JS常用校验方法: 1.判断输入框是否为空,为空时弹出提示框 2.关闭窗口 3.检查输入字符串是否为数字 4.强制把大写转换成小写 5.手机号码校验,长度为11位数字. 6.电子邮件校验 7.电话号码 ...

  6. Node.js 常用工具

    Node.js 常用工具 util 是一个Node.js 核心模块,提供常用函数的集合,用于弥补核心JavaScript 的功能 过于精简的不足. util.inherits util.inherit ...

  7. JS常用正则表达式备忘录

    摘要: 玩转正则表达式. 原文:JS常用正则表达式备忘录 作者:前端小智 Fundebug经授权转载,版权归原作者所有. 正则表达式或"regex"用于匹配字符串的各个部分 下面是 ...

  8. js常用数据类型(Number,String,undefined,boolean) 引用类型( function,object,null ),其他数据类型( 数组Array,时间Date,正则RegExp ),数组与对象的使用

    js常用数据类型 数字类型 | 字符串类型 | 未定义类型 | 布尔类型 typeof()函数查看变量类型 数字类型  Number var a1 = 10; var a2 = 3.66; conso ...

  9. js常用身份校验规则

    js常用身份校验规则 var Validator = { extractBirth: function(id) { // 身份证提取出生年月 var re = null, split, year, m ...

  10. JS常用类

    JS常用类 一.Number 1.常用数字 整数:10 小数:3.14 科学计数法:1e5 | 1e-5 正负无穷:Infinity | -Infinity 2.常用进制 二进制:0b1010 八进制 ...

随机推荐

  1. ASP.NET 开源导入导出库Magicodes.IE 导出Pdf教程

    基础教程之导出Pdf收据 说明 本教程主要说明如何使用Magicodes.IE.Pdf完成Pdf收据导出 要点 导出PDF数据 自定义PDF模板 导出单据 如何批量导出单据 导出特性 PdfExpor ...

  2. 常用API_1

    API API(Application Programming Interface),应用程序编程接口.Java API是一本程序员的 字典 ,是JDK中提供给 我们使用的类的说明文档.这些类将底层的 ...

  3. CSS动效集锦,视觉魔法的碰撞与融合(三)

    本文讲述的原理和相关demo 扇形DIV的使用——实现雷达扫描图 DIV环形布局—实现loading圈 动画的向量合成—实现抛物线动画 无限滚动动画—实现跑马灯效果 perspective和trans ...

  4. EditPlus 添加 打开文件所在文件夹 功能

    添加自定义工具: Tools -> Configure User Tools... -> Add Tool >> Menu Text: 打开所在的文件夹 Command: ex ...

  5. qsort 函数笔记

    函数声明 void qsort(void *base, size_t nitems, size_t size, int (*compare)(const void *, const void*)); ...

  6. SpringBoot初级知识总结,太难了,未完待续.......

    idea如何打包发布springboot 1.1.环境准备window系统,jdk8环境,springboot项目,maven3.5.4环境 1.2.进行打包发布 打开idea编辑器,打开一个写好的d ...

  7. Miniio对象储存服务器安装教程

    #创建minio专用文件目录 mkdir -p /app/minio/data mkdir -p /app/minio/config chmod -R 777 /app/minio/data chmo ...

  8. ios--->ios消息机制(NSNotification 和 NSNotificationCenter)

    问题的背景 IOS中委托模式和消息机制基本上开发中用到的比较多,一般最开始页面传值通过委托实现的比较多,类之间的传值用到的比较多,不过委托相对来说只能是一对一,比如说页面A跳转到页面B,页面的B的值改 ...

  9. ReactNative---setState与性能的平衡

    setState用来更新RN的视图层显示,每一次setState操作都会更新整个 视图,于是对应的是性能消耗,在某些特殊情况下就会造成卡顿 app假死等问题: 因此个人使用setState中总结的原则 ...

  10. 六、Django学习之基于下划线的跨表查询

    六.Django学习之基于下划线的跨表查询 一对一 正向查询的例子为 已知用户名,查询用户的电话号码.反向查询例子反之. 正向查询 其中下划线前的表示表名,无下划线的表示的是Author表 resul ...