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. Java动态编译技术原理

    这里介绍Java动态编译技术原理! 编译,一般来说就是将源代码转换成机器码的过程,比如在C语言中中,将C语言源代码编译成a.out,,但是在Java中的理解可能有点不同,编译指的是将java 源代码转 ...

  2. Git高级之配置多个SSH key

    最近我们在代码托管平台上使用SSH的方式下拉代码,通常是用一个ssh key来拉取所有托管平台的代码,如码云,GitHub.GitLab等,但是总用一个不是太好.会有安全风险,这就需要为每个托管平台设 ...

  3. C# 调用word进程操作文档关闭进程

    C# 调用word进程操作文档关闭进程 作者:Jesai 时间:2018-02-12 20:36:23 前言: office办公软件作为现在主流的一款办公软件,在我们的日常生活和日常工作里面几乎每天都 ...

  4. Kettle自定义jar包供javascript使用

    我们都知道 Kettle 是用 Java 语言开发,并且可以在 JavaScript 里面直接调用 java 类方法.所以有些时候,我们可以自定义一些方法,来供 JavaScript 使用. 本篇文章 ...

  5. Java基础语法和基本数据类型

    Java基础语法 一个Java程序可以认为是一系列对象的集合,而这些对象通过调用彼此的方法来协同工作. 对象:对象是类的一个实例,有状态(属性)和行为(方法). 类:类是一个模板,他描述一类对象的行为 ...

  6. 微服务的多数据源配置: step 1

    spring boot + mybatis: 实现的功能点: 多数据源 jdbc: spring.datasource.test1.url = jdbc:mysql://localhost:3306/ ...

  7. Ubuntu 获取 root 用户权限并以 root权限登录

    操作步骤: 1.打开终端,使用 sudo passwd root 命令进行 Ubuntu 中密码的重置        2.切换到 /usr/share/lightdm/lightdm.conf.d 目 ...

  8. mysql--->mysql查看数据库操作记录

    mysql查看数据库操作记录 MySQL的查询日志记录了所有MySQL数据库请求的信息.无论这些请求是否得到了正确的执行.默认文件名为hostname.log.默认情况下MySQL查询日志是关闭的.生 ...

  9. linux man指令的详解

    原创内容,欢迎指正 一.基本操作 大多数linux发行版自带用以查找shell命令及其他GNU工具信息的在线手册,man命令就是用来访问存储在linux系统上的手册页面. 例如,查看ls命令手册,语法 ...

  10. 通过openjdk源码分析ObjectMonitor底层实现

    通过openjdk源码分析ObjectMonitor底层实现 Hotspot JDK只是部分开源,将底层的调用C++的native方法的具体实现屏蔽了,而openjdk则将这部分也开源了,接下来我们通 ...