02前端入门课--数据类型转换 && 隐式转换 || 显式转换

数据类型转换 && 隐式转换 || 显式转换

在上一个章节中,我们介绍了 JavaScript 的基本的数据类型,由于是弱类型语言,所以不需要 在很多时候去定义这个数据的类型,而且也不能够在定义了这个数据类型之后再去改变这个数据类型。


当遇到一个需要对数据类型进行改变的场景的时候,JS 就显示出来它的优势了,可以对数据类型进行轻松的转换,那么下面 我们就开始介绍 如何轻松的对数据类型进行转换,以及在转换的过程中,我们需要非常注意点问题。

 一、从 数字类型 转换成 字符串类型

A、 显式转换

//javascript

const numberA = 123
console.log(typeof numberA)     // number

String(numberA)                    // "123"
numberA.toString()                // "123"

```

 B、 隐式转换

//javascript
const numberB = 456
console.log(typeof numberA)     // number

const stringB = numberB + ''    // "456"
```

TIPS:  特殊数值的隐士转换

//javascript

const aNumber = NaN
const bNumber = Infinity
const cNumber = -Infinity
console.log(typeof aNumber)        // number
console.log(typeof bNumber)        // number
console.log(typeof cNumber)        // number

const aString = aNumber + ''    // "NaN"
const bString = bNumber + ''    // "Infinity"
const cString = cNumber + ''    // "-Infinity"

console.log(typeof aString)        // string
console.log(typeof bString)        // string
console.log(typeof aString)        // string
```

二、从 字符串类型  转换成 数字类型

A、 显式转换

//javascript

const aString = "789"
const bString = "789xxx"
const cString = "xxx789"

// Number()
let aNumber1 = Number(aString)    // 789
let aNumber2 = Number(bString)    // NaN
let aNumber3 = Number(cString)    // NaN

// parseInt()
let bNumber1 = parseInt(aString)    // 789
let bNumber2 = parseInt(bString)    // 789
let bNumber3 = parseInt(cString)    // NaN

/*  是不是很困惑,为什么 bNumber2 和 bNumber3 的返回值是不一样的?*/
/*  那么我们顺手查了一下 手册 parseInt() 方法                   */

/*  tips: 如果传入的 string 开头为 1~9 的数字 或者 '0x'、('0X') */
/*  那么 parseInt 会返回对应的 整数部分的 数值,从而忽略掉数值后面跟随的 字符串 */
/*  至于 '0x' 则是因为 16 进制的原因。 同理 10进制 */


// parseFloat()
let cNumber1 = parseFloat(aString)    // 789
let cNumber2 = parseFloat(bString)    // 789
let cNumber3 = parseFloat(cString)    // NaN

// 看来 parseFloat 和  parseInt 情况是一样的。

B、 隐式转换

//javascript

const aString = "789"
const bString = "789xxx"
const cString = "xxx789"

let dNumber1 = + aString    // 789
let dNumber2 = + bString    // NaN
let dNumber3 = + cString    // NaN


// tips: 慎用 '789' + 0    || 0 + '789'

let x = '789' + 0    // '7890'
let y = '789' - 0    // 789

// 不要问为什么~ 就是这么 6
```

 隐式转换 中 不常见类型的转换结果

//javascript

let aBool = + false            // 0
let bBool = + true            // 1

let aNaN = + NaN            // NaN
let aNull = + null             // 0
let aUndefind = + undefined     // NaN

let obj = {}

let aObj = + {}                // NaN

// 引用对象类型在被 隐式转换 过后往往都是 NaN
 

ps:在下一个章节 我们会介绍下数组的属性及操作方法

以上今天的所讲内容,具体案例实力已上传至资源,大家进入主页自行下载即可。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Delta-Sigma数据转换器是一种常用于模拟信号转换为数字信号的技术。下面是一个从入门到精通的介绍: 1. 什么是Delta-Sigma数据转换器? Delta-Sigma数据转换器是一种高精度、高分辨率的模拟信号转换为数字信号的技术。它通过将模拟信号转换为一系列脉冲信号,再对这些脉冲信号进行数字滤波和重构,从而实现模拟信号的数字化。 2. Delta-Sigma数据转换器的工作原理是什么? Delta-Sigma数据转换器包括一个模拟前端和一个数字后端。模拟前端将模拟信号转换为一个带有高频噪声的脉冲串信号,这个脉冲串信号被送到数字后端进行数字滤波和重构,最终得到一个数字输出信号。 3. Delta-Sigma数据转换器有什么优点? Delta-Sigma数据转换器具有高精度、高分辨率、低成本和低功耗等优点。它能够实现16位以上的高分辨率,同时具有极低的非线性和噪声。 4. Delta-Sigma数据转换器的应用领域有哪些? Delta-Sigma数据转换器广泛应用于音频、视频、医疗、通信、自动化控制等领域。例如,它可以用于高保真音频设备、高速数据采集系统、医疗仪器、无线通信等领域。 5. 如何设计一个Delta-Sigma数据转换器? 设计一个Delta-Sigma数据转换器需要考虑模拟前端、数字后端、时钟和电源管理等方面。其中,模拟前端的设计包括模拟滤波器、采样保持电路和模数转换器等,数字后端的设计包括数字滤波器、重构滤波器和数字控制器等。同时,时钟和电源管理也是设计中需要考虑的重要因素。 希望这些信息能够对你了解Delta-Sigma数据转换器有所帮助。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

H5前端_宅猪

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值