02—js数据类型及相互转换

news2025/1/20 0:52:49

一、数据类型

js把数据分为两类

基本类型:string number boolean undefined null

引用类型:object(fuction(可以执行)  array(数值下标,内部数据是有序的))

1.Number:数值类型,整数和小数

(js的浮点数的运算能力很差,所以不建议使用js做浮点数的运算)

  • Js中整数和小数统称为number类型

            Var  a=120;

           Var  b=0.120;

  • js中的数值最大值和最小值

           Console.log(Number.MAX_VALUE);//1.7976931348623157e+308

            Console.log(Number.MIN_VALUE);//5e-324

  • 数字型三个特殊值
  • Infinity  代表无穷大,大于任何数值
  • -Infinity  代表无穷小,小于任何数值
  • NaN  Not a Number,代表一个非数值

  • isNaN()

用来判断一个变量是否为非数值类型,返回true/false

2.String:字符串类型,只要是引号括起来的都是字符串类型

  • 字符串引号嵌套

Js使用引号规则:外双内单,外单内双

Var strMsg=’我是”sun”我在欣知大数据’

  • 字符串转义字符     
  • 字符串长度

字符串是由若干个字符组成的,这些字符数量就是字符串的长度。

通过字符串的length属性可以获取字符串长度

Var  strMsg=”我是帅气多金的程序猿!!!”

Alert(strMsg.length);//13

  • 字符串拼接

多个字符串之间可以使用+进行拼接,拼接方式为 字符串+任意类型=新的字符串

拼接前会把字符串相加的任何类型转为字符串,在拼接起来

//1.字符串相加

Console.log(“hello”+” ”+”world”);//hello world

//2.数值字符串相加

Console.log(“12”+” ”+”12”);//1212

//3.数值字符串+数值

Console.log(“12”+” ”+12);//1212

3.Boolean:布尔类型 只有两个值 false/true

4.Undefined:空变量,表示变量没有值

什么是未声明和未定义的变量?面试

未声明的变量是程序中不存在且未声明的变量。

如果程序尝试读取未声明变量的值,则会遇到运行时错误。

未定义的变量是在程序中声明但尚未给出任何值的变量。

如果程序尝试读取未定义变量的值,则返回未定义的值。

5.Null空对象指针,是一个只有一个值的数据类型(可以将变量设置为null 来清空变量)

6.Object:对象,由花括号分割,对象的属性以名称和值对的形式定义(name:value)来定义

、获取变量数据类型

typeof:可以使用typeof(变量名)查询数据类型

、数据类型的相互转化

1.转换为字符串类型

2.转换为数值型(重点)

3.转化为布尔值

Undefine和null是不能转化成String类型的

Undefine(NaN)和null(0)、true(1)、false(0)可转化成number类型

四、运算符

1、算术运算符

  1. ·加减乘除:+ - * /
  2. ·取模运算符:%
  3. ·正负运算符:+ -
  4. ·递增递减运算符:++ --:使数字递增/递减1(注意前置和后置的区别)

o若没有赋值前置和后置,同。

o若有赋值:前置则先计算递增/减后赋值,后置则相反。

2、用于字符串的 +

  1. + 运算符用于把文本值或字符串变量加起来(连接起来)。
  2. 要想在两个字符串之间增加空格,需要把空格插入一个字符串之中:
  3. 如果把数字与字符串相加,结果将成为字符串。

  1. 除了加法字符串和数值相减,相除,求余:
  2. 当字符串是纯数字,计算机会将字符串转为数值型进行减法计算
  3. 当字符串不是纯数字或者无数值,则返回的值是NAN

3、赋值运算符

赋值运算符用于给 JavaScript 变量赋值。

  1. ·=: x=y
  2. ·+=:x+=y 等价于 x=x+y
  3. ·-=:x-=y 等价于 x=x-y
  4. ·*=:x*=y 等价于 x=x*y
  5. ·/=: x/=y 等价于 x=x/y
  6. ·%=: x%=y 等价于 x=x%y

4、比较运算符

·相等运算符 == :判断两个操作数是否相等。不同的数据类型会自动转换为相等的数据类型再做比较。

·等同运算符=== :全等(值和类型),严格意义的相等,两个操作数的值和他们的类型必须完全一致。

·不等于:!=

·不等同运算符: !==

·大于:>

·小于:<

·大于或等于:>=

·小于或等于:<=

//比较运算符也叫做关系运算符 >、<、>=、<=、==(相等)、!=(不等)、===(全等)、!==(不全等)

//比较运算符是比较两个数的大小的运算符,返回的是一个布尔值。

//>、<、>=、<=、==、!=、只比较值不比较类型

//===、!==、即比较值又比较类型

//若一个是数值字符串,一个是数值,字符串会自动转换成数值进行比较。

//若两个都是字符串,则比较首个数字的大小。

//字母字符串会转换成对应的ASCII码(较少用到,不做讲解,知道即可)

//布尔值的false和true会转换成0和1

5、逻辑运算符

·逻辑运算符用于测定变量或值之间的逻辑。

  1. ·&& and(与)
  2. ·|| or(或)
  3. ·! not(非)

6、三元运算/三目运算/三元表达式/条件运算符

·根据条件在两个语句中执行其中的一个,使用符号 ?:语法如下:

条件表达式?语句1:语句2

7、运算符优先级

运算符优先级描述了在计算表达式时执行运算的顺序。先执行具有较高优先级的运算,然后执行较低优先级的运算。

例如,先执行相乘,再执行相加。

  1. ·运算符比较多,可以合理使用()来改变表达式的优先级。
  2. ·()的用法和数学中的()用法相同,()内的会优先计算。

练习4:

输入框中输入一个数,与18比较,大于18则在页面显示成年小于则显示未成年

参数说明:

条件表达式,结果会被作为布尔值处理

语句1:如果条件表达式返回true则执行

语句2:如果条件表达式返回false则执行

Var a=prompt(‘请输入年龄’);

Var b=prompt(‘请输入年薪,单位万’);

Var c=a>20 ? ‘可以娶老婆’:‘不可以娶老婆’;

Var d=a>20 && b>30 ? ‘可以娶老婆’:‘不可以娶老婆’;

Document.write(d);

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1587744.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【C#】 删除首/尾部字符

代码 static void Main(string[] args){string str "123abc";string strdelete "abc";string str1 str.Trim(1);string strc str1.Trim(c);string str11 str1.TrimStart(1);string strcc str1.TrimEnd(c);string strabc str.Trim(strdelete.ToCharA…

mysql8主从配置报错Authentication plugin ‘caching_sha2_password‘ reported error

错误信息&#xff1a; Error connecting to source slave192.168.2.177:3306. This was attempt 2/86400, with a delay of 60 seconds between attempts. Message: Authentication plugin caching_sha2_password reported error: Authentication requires secure connection.…

连续6年!九州未来获评2024中国边缘计算企业20强

4月9日&#xff0c;由国内中立边缘计算领域研究平台——边缘计算社区策划发起的“2024中国边缘计算企业20强”榜单正式揭晓&#xff0c;九州未来凭借在边缘计算领域的深厚积累以及创新实践&#xff0c;从众多参评企业中脱颖而出&#xff0c;连续6年入选中国边缘计算企业20强&am…

RabbitMQ消息模型之Fanout消息模型

Fanout消息模型 * 广播模型&#xff1a;* 一个交换机绑定多个队列* 每个队列都有一个消费者* 每个消费者消费自己队列中的消息&#xff0c;每个队列的信息是一样的生产者 package com.example.demo02.mq.fanout;import com.example.demo02.mq.util.ConnectionUtils; impor…

Java区域基层卫生云联his系统源码 医院信息管理系统源码

基于云计算的医疗卫生信息系统(cloud-based healthcare informationsystem&#xff0c;简称“云 HIS”)是基于云计算技术&#xff0c;将医院信息系统、电子病历系统、实验室信息系统、公共卫生等系统横向集成的系统&#xff0c;为医疗机构信息化建设提供标准化、信息化、协同化…

Java中的TCP通信

TCP通信 TCP通信Socket客户端ServerSocket服务端 例子&#xff1a;一发一收例子&#xff1a;多发多收异常捕获 例子&#xff1a;服务器与多个客户端同时通信多客户端通信架构服务端代码ServerReaderThread 服务端读数据线程 TCP通信 特点&#xff1a;面向连接、可靠通信 通信双…

Git可视化工具 - 推荐

概述 Git版本管理工具是我们日常开发中常用的工具&#xff0c;熟练使用它可以提高我们的工作效率。 当然老司机基本使用命令行的方式进行操作&#xff0c;新手可借助可视化工具来进行过渡&#xff0c;命令行与可视化工具结合使用来加深对Git的熟悉程度。 下面推荐两个较受欢迎…

第七篇:3.6 其他评估考虑/4.审计指南/5. 通用报告规范/6.披露指南、参考标准及其他 - IAB/MRC及《增强现实广告效果测量指南1.0》

翻译计划 第一篇概述—IAB与MRC及《增强现实广告效果测量指南》之目录、适用范围及术语第二篇广告效果测量定义和其他矩阵之- 3.1 广告印象&#xff08;AD Impression&#xff09;第三篇广告效果测量定义和其他矩阵之- 3.2 可见性 &#xff08;Viewability&#xff09;第四篇 …

Flask基于flask_login实现登录、验证码

flask_login 是一个 Flask 扩展&#xff0c;用于在 Flask web 应用中实现用户会话管理。它允许你跟踪哪些用户已经登录&#xff0c;并管理他们的登录状态。flask_login 提供了用户认证的基础结构&#xff0c;但具体的用户验证&#xff08;如用户名和密码检查&#xff09;和存储…

DAY03|203.移除链表元素、707.设计链表、206.反转链表

203.移除链表元素、707.设计链表、206.反转链表 LeetCode 203.移除链表元素LeetCode 707.设计链表LeetCode 206.反转链表双指针法递归法 LeetCode 203.移除链表元素 注意&#xff0c;在dummy上操作&#xff0c;返回也返回dummy->next 如果头铁想返回head&#xff0c;那样会…

Redis入门到通关之Redis介绍

文章目录 1.Redis简单介绍1.1 非关系型数据库介绍 2.本文介绍如下内容3.初始Redis3.1.认识NoSQL3.1.3.查询方式3.1.4.事务3.1.5.总结 3.2.认识Redis3.3 安装Redis 1.Redis简单介绍 Redis是一种键值型的 NoSql 数据库&#xff0c;这里有两个关键字&#xff1a; 键值型NoSql 其…

负荷预测 | Matlab基于TCN-LSTM-Attention单输入单输出时间序列多步预测

目录 效果一览基本介绍程序设计参考资料 效果一览 基本介绍 1.负荷预测 | Matlab基于TCN-LSTM-Attention单输入单输出时间序列多步预测&#xff1b; 2.单变量时间序列数据集&#xff0c;采用前12个时刻预测未来96个时刻的数据&#xff1b; 3.excel数据方便替换&#xff0c;运行…

C++算法 —— 回溯(二)

一、字母大小写全排列 1.链接 784. 字母大小写全排列 - 力扣&#xff08;LeetCode&#xff09; 2.描述 3.思路 首先&#xff0c;根据题意&#xff0c;这是一个不能重复的全排列&#xff0c;并且根据特定的规则&#xff0c;我们需要分三种情况&#xff0c;一种是当字符为数字…

Android源码解析之截屏事件流程

今天这篇文章我们主要讲一下Android系统中的截屏事件处理流程。用过android系统手机的同学应该都知道&#xff0c;一般的android手机按下音量减少键和电源按键就会触发截屏事件&#xff08;国内定制机做个修改的这里就不做考虑了&#xff09;。那么这里的截屏事件是如何触发的呢…

基于spring boot的班级综合测评管理系统

基于spring boot的班级综合测评管理系统设计与实现 开发语言&#xff1a;Java 框架&#xff1a;springboot JDK版本&#xff1a;JDK1.8 服务器&#xff1a;tomcat7 数据库&#xff1a;mysql 5.7&#xff08;一定要5.7版本&#xff09; 数据库工具&#xff1a;Navicat11 开…

Linux进阶篇:linux操作系统一个神奇的分区:swap交换分区

linux操作系统一个神奇的分区&#xff1a;swap交换分区 1 Swap交换分区概念 Linux内核为了提高读写效率与速度&#xff0c;会将文件在内存中进行缓存&#xff0c;这部分内存就是Cache Memory(缓存内存)。即使你的程序运行结束后&#xff0c;Cache Memory也不会自动释放。这就…

微信小程序 django+nodejs电影院票务售票选座系统324kd

小程序Android端运行软件 微信开发者工具/hbuiderx uni-app框架&#xff1a;使用Vue.js开发跨平台应用的前端框架&#xff0c;编写一套代码&#xff0c;可编译到Android、小程序等平台。 前端&#xff1a;HTML5,CSS3 VUE 后端&#xff1a;java(springbootssm)/python(flaskdja…

网盘——显示在线用户

1、查看在线用户 客户端发送查看请求&#xff08;只发送用户的名字&#xff09;&#xff0c;服务器将数据库中在线的用户查询出来并发送给客户端&#xff0c;客户端接收在线用户信息并作显示。 1.1、查看数据库的数据&#xff0c;在这里需要使用socket&#xff0c;所以我们在…

springboot相关报错解决

Caused by: java.lang.ClassNotFoundException: 目录 Caused by: java.lang.ClassNotFoundException: org.springframework.context.event.GenericApplicationListener spring-boot-dependencies:jar:2.1.9.RELEASE was not found org.springframework.context.event.Generi…

界面设计【1】-项目的UI设计css

引言&#xff1a; 本篇博客对简单的css html界面设计做了简要介绍 这篇博客主要就是介绍了做横向项目中&#xff0c;CSS界面设计与优化。 界面设计【1】-项目的UI设计css 1. 什么是css?2. css编程demo3. 可视化效果 1. 什么是css? CSS是层叠样式表&#xff08;Cascading S…