• JS加密/解密之那些不为人知的基础逻辑运算符


    在这里插入图片描述

    不多说,直接上干货

    1. 使用逻辑非运算符 ! 和双重逻辑非运算符 !!:例如 ![]!![]!0!!0!""!!""
    2. 空字符串的转换:!""!!""
    3. 数组和对象的类型转换:[] + [][] - []{} + [][] + {}
    4. 对象和原始值的自动拆箱:例如 ({ valueOf: () => 5 }) + 3
    5. 减法运算符的字符串转换:例如 "10" - "2"
    6. 相等运算符的类型转换:例如 "1" == 1true == 1
    7. 类型转换函数:例如 String()Number()Boolean() 函数可以用于将其他类型的值转换为字符串、数字和布尔值。

    案例代码 实践出真知

    // 逻辑非运算符和双重逻辑非运算符
    console.log(![]); // false
    console.log(!![]); // true
    console.log(!0); // true
    console.log(!!0); // false
    console.log(!""); // true
    console.log(!!""); // false
    
    // 空字符串的转换
    console.log(!""); // true
    console.log(!!""); // false
    
    // 数组和对象的类型转换
    console.log([] + []); // ""
    console.log([] - []); // 0
    console.log({} + []); // 0
    console.log([] + {}); // "[object Object]"
    
    // 对象和原始值的自动拆箱
    console.log(({ valueOf: () => 5 }) + 3); // 8
    
    // 减法运算符的字符串转换
    console.log("10" - "2"); // 8
    
    // 相等运算符的类型转换
    console.log("1" == 1); // true
    console.log(true == 1); // true
    
    // 类型转换函数
    console.log(String(123)); // "123"
    console.log(Number("123")); // 123
    console.log(Boolean(0)); // false
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32

    结尾

    这些基础的知识,是每个js加密人必须知道的小知识。

    当然了这些小东西都可以直接在jsjiami官网一键解出来,但是如何合理运用他,就是各位的本事了。

  • 相关阅读:
    决策树实验分析(分类和回归任务,剪枝,数据对决策树影响)
    jQuery无刷新上传
    正则提取字符串中的年龄对大于50的求和
    有没有不排队还便宜好用的云渲染呢?
    87.(cesium之家)cesium热力图(贴地形)
    Java_移位运算简述
    池风水利用工具
    智慧园区信息化管理系统发展现状及难题
    增删改查模块测试用例设计
    Oracle中的commit与rollback
  • 原文地址:https://blog.csdn.net/mxd01848/article/details/134065792