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. ancconda创建爬虫项目

    # 安装 conda env list conda create -n <envname> conda activate <envname> conda install scr ...

  2. Zero down time upgrade with OGG -from 11g to 12c.

    High level steps upgrade from 11g to 12c database: 1)    Check network between source and target. 2) ...

  3. [bzoj5507] [洛谷P5305] [gzoi2019]旧词

    Descriptioin 浮生有梦三千场 穷尽千里诗酒荒 徒把理想倾倒 不如早还乡 温一壶风尘的酒 独饮往事迢迢 举杯轻思量 泪如潮青丝留他方 --乌糟兽/愚青<旧词> 你已经解决了五个问 ...

  4. 关于C++读入数字按位取出与进制转换问题

    这一片博客我就不写具体的一个题了,只是总结一种典型问题——读入数字按位取出. 就拿数字12345举例吧. 是首先,我们要取出个位.这样取出: 12345/1=12345 12345%10=5.    ...

  5. 60 个让程序员崩溃的瞬间,太TM真实了

    前方高能!笑死人不偿命系列~ 表演即将开始,吃东西的请停下来,不然你会后悔的 1. 公司实习生找 Bug 2. 在调试时,将断点设置在错误的位置 3. 当我有一个很棒的调试想法时 4. 偶然间看到自己 ...

  6. Redhat下如何查看nvidia显卡的工作状况

    安装完毕nvidia显卡驱动后,可以使用命令来查看显卡的工作状况,命令如下: nvidia-smi 输入上述命令后,显示界面如下 安装nvidia显卡驱动的步骤,请参照驱动安装cuda和cudnn.

  7. swoole(PHP异步网络通信引擎)的结构和运行流程

    swoole结构说明和运行流程 主要分为三个部分: 1.Master:swoole的主进程 处理swoole核心的事件驱动, 它包含多个线程(蓝色Reactor), 所有事件的监听都在Reactor实 ...

  8. Python脚本通过ftp协议移植文件

    需求 项目需要定时移植多个客户服务器的文件到公司服务器上,确保文件定时同步和生成监控日志 机制原理 1.客户和公司服务器同时安装vpn,绕过复杂的网关,linux下使用的OpenVPN 2.服务器定时 ...

  9. 04--Java--使用eclipse创建开发java项目步骤

    eclipse创建开发java步骤 1.三种创建java项目 1)方式一:在包资源管理器(package explorer)窗口中鼠标右击任意位置选择New --> Java Project,如 ...

  10. openlayer3 坐标系转换

    'EPSG:4326'-经纬度坐标-WGS84'EPSG:3857'- xy坐标-web墨卡托 ol3默认的坐标系为3857,即在创建ol.map的时候,若不指定projection,则默认为EPSG ...