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>
相关推荐
江湖行骗老中医11 分钟前
js闭包概念和使用
开发语言·javascript·ecmascript
FAREWELL0007514 分钟前
C#进阶学习(十七)PriorityQueue<TElement, TPriority>优先级队列的介绍
开发语言·学习·c#·优先级队列
king1999010215 分钟前
小程序Npm package entry file not found?
前端·npm·node.js
程序猿阿伟24 分钟前
《解锁CSS Flex布局:重塑现代网页布局的底层逻辑》
前端·css
生产队队长25 分钟前
CSS:选择器-复合选择器
前端·css
海绵宝宝的月光宝盒36 分钟前
[stm32] 4-1 USART(1)
c语言·开发语言·笔记·stm32·单片机
九班长40 分钟前
JMeter WebSocket 压测详细步骤(支持 ws+proto 协议)
开发语言·python·网络协议·jmeter·golang
黄同学real1 小时前
前端安全中的XSS(跨站脚本攻击)
前端·安全·xss
楠奕1 小时前
Neo4j多关系或多路径
前端·javascript·neo4j
VcB之殇1 小时前
three.js中使用canvas生成动态纹理贴图
javascript·three.js