js笔记(二进制由0和1两个数字组成)

二进制由0和1两个数字组成

八进制:由0-7数字组成

十进制:0-9数字组成,不能以开头

十六进制是由0-9和A-F组成,为了与其他进制的数字区分,通常开头以0x作为标记表示十六进制

Boolean

将其他类型转换为Boolean

使用的是Boolean()函数

数字转布尔

除了0和NaN,其余的都是true,比如:123,-123,Infinity

空值转布尔

Null转布尔为false

未定义转布尔

Undefined转布尔为false

字符串转布尔

除了空串(里面不敲任何字符)其它都是true,比如:"123","你好","abc"

运算符:

其中包括:算数运算符,位运算符,关系运算符

1.算术运算符也称做操作符

通过运算符可以对一个或者多个值进行运算,并获取运算结果

    • * / %(取模也称为取余数) **取幂

%:取两个数的余数

被除数/除数=商...余数

10%3=3...1(1就是我们取的模,也就是取的余数)

**取幂

a**b也就是a的b次方

+有两种含义:1.字符串拼接,2.算数运算符

其他类型跟字符串相加会变成拼串,会将两个拼接为一个,并返回

在非number类型的值

直接在前边加+就行

NaN除了跟字符串相加变成拼串,其余相加都会变成NaN

当对于非Number类型值进行运算时,会将这些值转为Number值,然后进行运算

隐式转换:某些运算符被执行时,系统内部自动将数据类型进行转换,这种称为隐式转换

为什么需要类型转换

因为javascript是弱数据类型,javascript也不知道变量到底属于那种数据类型,只有赋值才能够清楚

通俗来讲,就是把一个数据类型的变量转换为我们的需要的数据类型

除了+以外的算数运算符,比如 - * /都会把数据类型转换为数值类型

复制代码
    </head>
    <body>
    <script>
   console.log(11+11)
    console.log(1+"1")
    console.log(1+true)
    console.log(2+false)
    console.log("1"+NaN)
    console.log("123"+"123")
    var a="123"+123;
    console.log(typeof a)
    console.log(1-1)
    console.log(1-"1")
    console.log(+"123")
    var a=true
    console.log(5-a)
    console.log(5+a)
        
    console.log(5 -  +"2" ) 
    console.log(5-null)
    </body>
    </script>
相关推荐
定栓1 分钟前
Vite-legacy产物console删除机制
前端·javascript·vue.js
程序员大阳8 小时前
副队长JavaScript教程(49)-主动抛出异常与错误类型
javascript·异常处理·error·throw·错误类型
古法老登瞎折腾8 小时前
大数据智能运维实战(十一):运维 MCP 的工程化——权限、限流、审计与错误处理
java·大数据·运维·spring ai·mcp
hhhjhl8 小时前
Protobuf.js 跨端三方库仓颉适配全流程
javascript·网络·udp
智能运维指南9 小时前
研制过程“两张皮“怎么破:研制一体化支撑平台的定位、能力边界与落地前提
java·前端·人工智能·嘉为蓝鲸
yz_aiks10 小时前
Spring AI 2.1 ChatMemory 已过时用什么替代:迁移到 Session Memory 实战(JDBC 存储与会话压缩)
java·spring boot·大模型·ai agent·spring ai
金銀銅鐵10 小时前
[Java] 用 GUI 展示 EnumMap 增删键值对时的内部变化
java·后端·ai编程
学长毕设10 小时前
基于SpringBoot的上门洗车服务系统设计与实现
java·spring boot·后端
jason成都10 小时前
RTKLIB-Java 多基线联合RTK:FIX率从0%到91.5%的三层根因修复
java·gnss·rtklib·rtklib_java
鱼宵10 小时前
Stream 终端操作一次讲透:collect、count、reduce 怎么选
java·stream·终端操作