当前位置: 首页 > news >正文

JavaScript学习第二天:常量与数据类型

今天是第二天!希望能在一周内把基础知识学完,发现学习内容和C还挺像的,所以学的很快。

目录

JavaScrip学习Day2

常量

数据类型

数字类型

字符串类型

模板字符串

布尔类型

undefined

null空类型

类型转换

隐式转换

显式转换

Number

parseInt

parseFloat


JavaScrip学习Day2

常量

概念:使用 const 声明的变量称为“常量”。

使用场景:当某个变量永远不会改变的时候,就可以使用 const 来声明,而不是let。

命名规范:和变量一致

 const PI = 3.14

注意: 常量不允许重新赋值,声明的时候必须赋值(初始化)

数据类型

计算机世界中的万事成物都是数据。

计算机程序可以处理大量的数据,为了方便数据的管理,将数据分成了不同的类型,

js数据类型则主要分为两类:基本数据类型和引用数据类型

其中:

基本数据类型分为:

  • number数字型

  • string字符串型

  • boolean布尔型

  • undefined未定义型

  • null空类型

引用数据类型:

  • object对象

注:通过 typeof 关键字检测数据类型

 <!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><title>JavaScript 基础 - 数据类型</title></head><body><script> // 检测 1 是什么类型数据,结果为 numberdocument.write(typeof 1)document.write(typeof '你好')  //结果为string//注意 从单选框多选框表单获得的值默认为字符串let num = prompt('请输入一个数字:')document.write(typeof num) //结果为string</script></body></html>

注意:在使用表单、prompt获取过来的值默认是字符串,此时不能对其进行简单地加法运算。因此类型转换很重要。

数字类型

即我们数学中学习到的数字,可以是整数、小数、正数、负数

 <!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><title>JavaScript 基础 - 数据类型</title></head><body><script> let score = 100 // 正整数let price = 12.345 // 小数let temperature = -40 // 负数​document.write(typeof score) // 结果为 numberdocument.write(typeof price) // 结果为 numberdocument.write(typeof temperature) // 结果为 number</script></body></html>

JavaScript 中的数值类型与数学中的数字是一样的,分为正数、负数、小数等。

JavaScript是一门弱数据类型的语言,变量到底是属于哪种类型,只有赋值后才能确认,反观,Java是强数据类型,例如 int a = 3 我们知道a一定是整数。而 let a,不赋值真不知道是什么数。

基本的算输符号这里不多解释。注意区分'/'(取除数)和'%'(取余数)即可

算一下:3%5=3,只要前面的数比后面的数小,结果就取前面的数。

优先级为:

  • 乘、除、取余相同,加减相同

  • 乘除取余大于加减

  • 使用()可提升优先级

总之,先乘除后加减,有括号先括号

在数字类型中,有一个特殊的值NAN,它代表一个计算错误,是一个不正确或一个未定义的数学操作所得到的结果。比如console.log('老师' - 2)得到的结果就是NAN。NAN是粘性的,任何对NAN的操作都会返回NAN,如console.log(NAN + 2)

但注意:NAN不等于NAN!

字符串类型

通过单引号( '') 、双引号( "")或反引号(``)包裹的数据都叫字符串,单引号和双引号没有本质上的区别,推荐使用单引号。

注意事项:

  1. 无论单引号或是双引号必须成对使用

  2. 单引号/双引号可以互相嵌套,但是不能自已嵌套自已

  3. 必要时可以使用转义符 \,输出单引号或双引号

 <!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><title>JavaScript 基础 - 数据类型</title></head><body><script> let user_name = '小明' // 使用单引号let gender = "男" // 使用双引号let str = '123' // 看上去是数字,但是用引号包裹了就成了字符串了let str1 = '' // 这种情况叫空字符串document.write(typeof user_name) // 结果为 stringdocument.write(typeof gender) // 结果为 stringdocument.write(typeof str) // 结果为 stringdocument.write('str') //结果为str//document.write('你好呀'小明'') 这是报错的document.write('你好呀"小明"'')document.write('你好呀\'小明\'')</script></body></html>

字符串之间可以通过'+'拼接

 document.write('你' + '好')let age = 19document.write('我今年' + age)//也可以直接:document.write('我今年' + 19)//这里字符串和数字相‘+’,默认为字符串拼接
模板字符串

使用场景:拼接字符串和变量

语法:

  • 使用反引号``

  • 内容拼接时,用${}包住变量

 document.write('我今年' + age + '岁了')//也可以这么写document.write(`我今年${age}岁了`)

布尔类型

表示肯定或否定时在计算机中对应的是布尔类型数据,它有两个固定的值 truefalse,表示肯定的数据用 true,表示否定的数据用 false

 <!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><title>JavaScript 基础 - 数据类型</title></head><body><script> //  pink老师帅不帅?回答 是 或 否let isCool = true // 是的,摔死了!isCool = false // 不,套马杆的汉子!​document.write(typeof isCool) // 结果为 boolean</script></body></html>

undefined

未定义是比较特殊的类型,只有一个值 undefined,只声明变量,不赋值的情况下,变量的默认值为 undefined,一般很少【直接】为某个变量赋值为 undefined。

 <!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><title>JavaScript 基础 - 数据类型</title></head><body><script> // 只声明了变量,并末赋值let tmp;document.write(typeof tmp) // 结果为 undefined</script></body></html>

注:JavaScript 中变量的值决定了变量的数据类型。

在工作开发中,我们常声明一个变量,等待传送过来的数据。如果我们不知道这个数据是否传递过来,此时我们可以通过检测这个变量是不是undefined来判断用户是否有数据传递过来。

null空类型

JavaScript中的null仅仅代表一个“无”、“空”或“值未知”的特殊值。

 let obj = nullconsole.log(obj)  //结果为null

null和undefined的区别:

  • undefined表示没有赋值

  • null表示赋值了,但内容为空

 console.log(undefined + 1) //返回 NANconsole.log(null + 1) //返回 1

在开发中,我们把null作为尚未创建的对象,也就是说如果有个变量里面存放的是一个对象,但是对象还没创建好,可以先给个null。

类型转换

理解弱类型语言的特征,掌握显式类型转换的方法

在 JavaScript 中数据被分成了不同的类型,如数值、字符串、布尔值、undefined,在实际编程的过程中,不同数据类型之间存在着转换的关系。

隐式转换

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

规则:

  • +号两边只要有一个是字符串,就会把另外一个转成字符串

  • 除了+号之外的算术运算符(如- * /等)都会把数据转成数字类型

  • +号作为正号解析可以转换成数字型

  • 任何数据和字符串相加结果都是字符串

 <!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><title>JavaScript 基础 - 隐式转换</title></head><body><script> let num = 13 // 数值let num2 = '2' // 字符串​// 结果为 132// 原因是将数值 num 转换成了字符串,相当于 '13'// 然后 + 将两个字符串拼接到了一起console.log(num + num2)​// 结果为 11// 原因是将字符串 num2 转换成了数值,相当于 2// 然后数值 13 减去 数值 2console.log(num - num2)console.log(+12)  //结果为12console.log(+'123') //结果为123(数字型)</script></body></html>

注:数据类型的隐式转换是 JavaScript 的特征,后续学习中还会遇到,目前先需要理解什么是隐式转换。

补充介绍模板字符串的拼接的使用

显式转换

编写程序时过度依靠系统内部的隐式转换是不严禁的,因为隐式转换规律并不清晰,大多是靠经验总结的规律。为了避免因隐式转换带来的问题,通常根逻辑需要对数据进行显示转换。

Number

通过 Number 显示转换成数值类型,当转换失败时结果为 NaN(Not a Number)即不是一个数字。

注意:NAN也是number数字型,代表非数字

 <!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><title>JavaScript 基础 - 隐式转换</title></head><body><script>let t = '12'let f = 8​// 显式将字符串 12 转换成数值 12t = Number(t)​// 检测转换后的类型// console.log(typeof t);console.log(t + f) // 结果为 20​// 并不是所有的值都可以被转成数值类型let str = 'hello'// 将 hello 转成数值是不现实的,当无法转换成// 数值时,得到的结果为 NaN (Not a Number)console.log(Number(str))</script></body></html>

parseInt

只保留开头的整数部分

 console.log(parseInt('12px')) // 12console.log(parseInt('12.34px')) // 12console.log(parseInt('abc12.34px') // NAN

parseFloat

可以保留小数部分

 console.log(parseFloat('12px')) // 12console.log(parseFloat('12.34px')) // 12.34console.log(parseFloat('abc12.34px')) // NAN
http://www.dtcms.com/a/494279.html

相关文章:

  • perf 子系统宏观认知
  • P14137 「SFMOI Round II」Strange Covering Game 题解
  • 进程的状态
  • macOS 基本使用
  • 前端最新Vue2+Vue3基础入门到实战项目11-13
  • 【Linux】Linux 进程通信:System V 共享内存(最快方案)C++ 封装实战 + 通信案例,4 类经典 Bug 快速修复
  • Windows进程-dllhost.exe
  • Linux小课堂: 群组管理与文件权限控制
  • 5-4〔OSCP ◈ 研记〕❘ SQL注入攻击▸基于 UNION 的SQLi
  • 黑龙江住房建设部网站qwins是哪个网站做的
  • Spring容器的refresh()方法
  • 接口测试难点总结
  • 《C++ Stack 与 Queue 完全使用指南:基础操作 + 经典场景 + 实战习题》
  • php 网站换空间网站打开慢如何优化
  • html5商城网站模板泰州网站制作工具
  • 浅谈SQL审核(一):SQL审核实现方式与常见工具的选择
  • 贪玩手游官方网站论文答辩免费ppt模板下载
  • Linux 上可以同时安装并运行 MySQL 和 PostgreSQL
  • Python Arrow库:告别datetime繁琐,优雅处理时间与时区
  • SQL 处理问题(删除大表数据、查询慢、统计不准、锁超时)
  • 佛山外贸网站建设效果一个网站突然打不开
  • 中国建设网官方网站硅灰wordpress 表格边框
  • php做音乐网站17zwd一起做网站官网
  • 犀牛云做网站编辑上传网站建设文件
  • 装饰公司网站建站网站后台管理无法编辑
  • 网站建设中upl连接网站开发教案
  • 整站优化外包公司中国域名注册
  • 再网站里做商家店铺网页素材大宝库
  • 精湛的网站建设免费的企业宣传模板
  • 做网站在哪个地方买空间wordpress 图片展示插件