zoukankan      html  css  js  c++  java
  • JavaScript的语法、数据类型、基本算数和逻辑运算操作

    str.toString()

    可以把字符串、数值、布尔值、对象转为字符串

    String(str)

    任何数值强制转换为字符串类型

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Document</title>
    </head>
    <body>
        <script>
            var num=123;
            console.log(typeof num.toString());//string
            console.log(typeof String(num));//string
        </script>
    </body>
    </html>

    其他类型转布尔值

    1、数值型,除了0,其余都是转为true

    2、字符串型,除了""空字符串,其余都是转为true

    3、null 和 undefined 转为false

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Document</title>
    </head>
    <body>
        <script>
            var num;
            console.log(Boolean(num));//false
        </script>
    </body>
    </html>

    在进行算数运算时,浏览器会尝试隐式转换字符串

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Document</title>
    </head>
    <body>
        <script>
            var num1=1;
            var num2="30";
            console.log(num1+num2);//130  此处+为字符串拼接
            console.log(typeof(num1+num2));//string
            console.log(num1*num2);//30
            console.log(typeof(num1*num2));//number
        </script>
    </body>
    </html>

    ++num 先递增,再运算

    num++ 先运算,再递增

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Document</title>
    </head>
    <body>
        <script>
            var num1=2;
            var num2=3;
            var num3=++num1+num2++;
            console.log(num1);//3
            console.log(num2);//4
            console.log(num3);//6
        </script>
    </body>
    </html>

    == 和 ===

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Document</title>
    </head>
    <body>
        <script>
            console.log(null==undefined);//true  undefined派生自null
            console.log(null===undefined);//false  是两种不同的基本类型
        </script>
    </body>
    </html>

    三元运算符可以简化部分if判断的语句

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Document</title>
    </head>
    <body>
        <script>
            var score=85;
            var result=score>60?'及格':'不及格';
            console.log(result);//及格
        </script>
    </body>
    </html>

    &&

    如果都是布尔值,则所有布尔值都为true时,返回true;有一个为false则返回false

    如果不都是布尔值,则:

    如果第一个隐式转换后是true,则返回第二个值;如果第二个也隐式转换为true,则返回第三个;以此类推

    如果第一个隐式转换后是false,则返回第一个值

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Document</title>
    </head>
    <body>
        <script>
            
            console.log(15 && 'hello~');//hello~
            console.log(0 && 'hello~');//0
            console.log(25 && 'str' && null);//null
        </script>
    </body>
    </html>

    ||

    如果都是布尔值,有一个为true,则返回true

    全部都是false,则返回false;

    如果不都是布尔值,则第一个数值隐式转换为true,就返回第一个数值;否则依次往后

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Document</title>
    </head>
    <body>
        <script>
            
            console.log(15 || 'hello~' || NaN);//15
            console.log(0 || undefined);//undefined
            console.log('' || 'str' || null);//str
        </script>
    </body>
    </html>

    ! 取反

    !! 取反再取反

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Document</title>
    </head>
    <body>
        <script>
            
            console.log(!null);//true
            console.log(!!null);//false
        </script>
    </body>
    </html>
  • 相关阅读:
    Linux 的文件软链接如何删除
    mysql-xtrabackup备份sh: xtrabackup_56: command not found与error while loading shared libraries: libssl.so.6: cannot open shared object file: No such file or directory
    How To Upgrade ASMLib Kernel Driver as Part of Kernel Upgrade? (文档 ID 1391807.1)
    [trouble] error connecting to master 'repl@192.168.1.107:3306'
    Troubleshooting 10g and 11.1 Clusterware Reboots (文档 ID 265769.1)
    "Last_IO_Error: Fatal error: The slave I/O thread stops because master and slave have equal MySQL server UUIDs
    RMAN-06900 RMAN-06901 ORA-19921
    一则ORACLE进程都在但是无法进入实例的问题
    VirtualBox下Win7下CPU高占用的一次故障解决
    netcore之mysql中文乱码问题解决记录
  • 原文地址:https://www.cnblogs.com/chenyingying0/p/12259197.html
Copyright © 2011-2022 走看看