美文网首页
js知识点积累

js知识点积累

作者: 青争小台 | 来源:发表于2020-06-10 10:27 被阅读0次

一、三目运算符

基础版:

let a=8,b=-9,c=0;
        //三目写法
        b>a0?c=1:c=2;
      //转换成if写法是这样的
        if(b>a){
            c=1
        }else{
            c=2
        }
        console.log(c)

进阶版:

let a=8,b=-9,c=0;
        //三目写法
        b>a?b>0?c=1:c=2:c=3;
         //转换成if写法是这样的
//      if(b>a){
//          c=1
//      }else if(b>0){
//          c=2
//      }else{
//          c=3
//      }
        console.log(c)

参考:https://www.jianshu.com/p/7e272416fcdd

二、elementui input只能输入数字

<el-input
onkeyup="this.value = this.value.replace(/[^\d.]/g,'');"
maxlength="8"
>
限制输入数字,且长度最大为8
</el-input>

三、JS 浮点数计算 Bug 处理

:2.2+2.1

function add(a, b) {
    var c, d, e;
    try {
        c = a.toString().split(".")[1].length;
    } catch (f) {
        c = 0;
    }
    try {
        d = b.toString().split(".")[1].length;
    } catch (f) {
        d = 0;
    }
    return e = Math.pow(10, Math.max(c, d)), (mul(a, e) + mul(b, e)) / e;
}

:1.4-1.1

function sub(a, b) {
    var c, d, e;
    try {
        c = a.toString().split(".")[1].length;
    } catch (f) {
        c = 0;
    }
    try {
        d = b.toString().split(".")[1].length;
    } catch (f) {
        d = 0;
    }
    return e = Math.pow(10, Math.max(c, d)), (mul(a, e) - mul(b, e)) / e;
}

:2.2*2.2

function mul(a, b) {
    var c = 0,
        d = a.toString(),
        e = b.toString();
    try {
        c += d.split(".")[1].length;
    } catch (f) {}
    try {
        c += e.split(".")[1].length;
    } catch (f) {}
    return Number(d.replace(".", "")) * Number(e.replace(".", "")) / Math.pow(10, c);
}

:2.1/0.3

function div(a, b) {
    var c, d, e = 0,
        f = 0;
    try {
        e = a.toString().split(".")[1].length;
    } catch (g) {}
    try {
        f = b.toString().split(".")[1].length;
    } catch (g) {}
    return c = Number(a.toString().replace(".", "")), d = Number(b.toString().replace(".", "")), mul(c / d, Math.pow(10, f - e));
}

参考自:https://www.jianshu.com/p/7381a2369bd2

四、npm 时 -D和-S的区别

npm install 依赖 (已经安装上了 , 但在package.json 中没有,不能通过npm i 安装)
npm install 依赖 --save (已安装,依赖包的名称在package.json的dependencies中, 可通过npm i 安装)
npm install 依赖 --save-dev (已安装,依赖包的名称在package.json的devDependencies中, 可通过npm i 安装)

dependencies 和 devDependencies区别
devDependencies 里面的插件只用于开发环境,不用于生产环境,而 dependencies 是需要发布到生产环境的。

五、获取url参数

const getQueryVariable = () => {
  const query = window.location.search.substring(1),
    vars = query.split('&'),
    obj = {};
  for (const i in vars) {
    let pair = vars[i].split('=');
    obj[pair[0]] = pair[1];
  }
  return obj;
};
//如:http://0.0.0.0:9000/details.html?proId=D1785C412E38C06CED&flag=1
//{flag: "1",processId: "D1785C412E38C06CED"}

六、数组求差集并集

普通数组

var a = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
var b = [1, 2, 3, 4, 5]
let arrDiff = a.filter((key) => !b.includes(key))//差集
let arrInter = a.filter((key) => b.includes(key))//交集

对象数组

var arr1 = [
      { id: 1, name: 'a' },
      { id: 2, name: 'b' },
      { id: 3, name: 'c' },
      { id: 4, name: 'd' },
    ]
    var arr2 = [
      { id: 1, name: 'a' },
      { id: 2, name: 'b' },
    ]
    //差集
    let arrDiff = [...arr1].filter((x) => [...arr2].every((y) => y.id !== x.id))
    //交集
    let arrInter = [...arr1].filter((x) => [...arr2].some((y) => y.id === x.id))

相关文章

  • js知识点积累

    一、三目运算符 基础版: 进阶版: 参考:https://www.jianshu.com/p/7e272416fc...

  • JS知识点积累

    1、mouseover和mouseenter的区别 两者都是鼠标移入元素时触发,区别在于mouseenter不支持...

  • CSS红绿灯,JS知识点(二)

    昨天早早的就睡了,没有写。这篇是css实现红绿灯,也写在js知识点里吧,每天知识的积累,不一定是js,哈哈哈哈。 ...

  • js小知识点

    js小知识点 整理 js小知识点 (一):获取元素 1:document.getElementById('id名'...

  • js积累

    1.判断浏览器是否有滚动条 2.阻止冒泡行为 1.event.stopPropagation();事件处理过程中,...

  • 小知识点集汇一

    小知识点集汇一 小知识点 node接口模拟返回 js接口模拟数据 mockjs mocha js 测试框架--教程...

  • 前端知识温习

    js知识点 温习js css知识点 温习css jquery温习 自己实现一个jquery vue框架温习 温习v...

  • js的浅拷贝与深拷贝

    js的浅拷贝与深拷贝 涉及知识点: js中的数据类型(基本类型,引用类型) js中的存储数据的堆栈相关知识点; 下...

  • 2018-08-22

    今天简单了解了一下关于js对象的知识点。包括JS 数字 JS 字符串 JS 日期 JS 数组 JS 逻辑 JS 算...

  • 知识点积累

    https://juejin.im/entry/5aa69dc851882555602093b2 什么是自动拆装包...

网友评论

      本文标题:js知识点积累

      本文链接:https://www.haomeiwen.com/subject/usjutktx.html