JS-04.基础语法-运算符

一、运算符:

算数运算符:+,-,*,/,%,++,--

赋值运算符:=,+=,-=,*=,/=,%=

比较运算符:>,<,>=,<=,!=,==,===

逻辑运算符:&&,||,!

三元运算符:条件表达式?true_value:false_value

==与===:

==会进行类型转换,===不会进行类型转换

二、类型转换:

字符串类型转为数字:

将字符串字面值转为数字,如果字面值不是数字,则转为NaN

其他类型转为boolean:

Number:0和NaN为false,其他均转为true

String:空字符串为false,其他均转为true

Null和undefined:均转为false

html 复制代码
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
        /* 
            运算符:
            算数运算符:+,-,*,/,%,++,--
            赋值运算符:=,+=,-=,*=,/=,%=
            比较运算符:>,<,>=,<=,!=,==,===
            逻辑运算符:&&,||,!
            三元运算符:条件表达式?true_value:false_value
            ==与===
            ==会进行类型转换,===不会进行类型转换
            
            类型转换:
            字符串类型转为数字:
                将字符串字面值转为数字,如果字面值不是数字,则转为NaN
            其他类型转为boolean:
                Number:0和NaN为false,其他均转为true
                String:空字符串为false,其他均转为true
                Null和undefined:均转为false
        */
        var a = 10;
        var b = '10';
        var c = 10;

        // alert(a==b)  // true
        // alert(a===b)  // false
        // alert(a==c)  // true

        alert(parseInt("12"));   // 12
        alert(parseInt("12A45"));  // 12 遇到A无法类型转换后面的就不转换了
        alert(parseInt("A45"));   // 无法类型转换为int,直接转为NaN(not a number)

        if(0) {
            alert("0转换为false");
        }
        if(NaN) {
            alert("NaN转换为false");
        }
        if(-1) {
            alert("其余的均转换为true");
        }
        if("") {
            alert("空字符串为false")
        }
        if(" ") {
            alert("非空皆为true")
        }
        if(null) {
            alert("null为false")
        }
        if(undefined) {
            alert("undefined为false")
        }
    </script>
</body>
</html>
相关推荐
mCell1 小时前
GSAP ScrollTrigger 详解
前端·javascript·动效
gnip1 小时前
Node.js 子进程:child_process
前端·javascript
excel4 小时前
为什么在 Three.js 中平面能产生“起伏效果”?
前端
excel5 小时前
Node.js 断言与测试框架示例对比
前端
天蓝色的鱼鱼7 小时前
前端开发者的组件设计之痛:为什么我的组件总是难以维护?
前端·react.js
codingandsleeping7 小时前
使用orval自动拉取swagger文档并生成ts接口
前端·javascript
石金龙7 小时前
[译] Composition in CSS
前端·css
白水清风8 小时前
微前端学习记录(qiankun、wujie、micro-app)
前端·javascript·前端工程化
Ticnix8 小时前
函数封装实现Echarts多表渲染/叠加渲染
前端·echarts
用户22152044278008 小时前
new、原型和原型链浅析
前端·javascript