JavaScript隐式类型转换
来源:互联网 发布:网络机房验收报告 编辑:程序博客网 时间:2024/06/06 00:08
JavaScript中,正常是不会报类型错误的,因为会有隐式的类型转换.
例外情况
- 调用一个非函数对象
- 试图选择null
'hello'()null.toString()12331()
正常情况
let log = console.log.bind(null)log(3 + true) // 4log(2 + 3) // 5log('17' * 3) // 51log('hello' + ' world') // hello world
log('2' + 3) // '23'log(1 + 1 + '2') // '22'log(1 + '1' + 2) // '112'// 之所以会出现这个现象是因为+号的优先级,且在数字与字符串相加的时候,会偏向字符串
log('8' >>> 1) // 4log('8' | '1') // 1// 隐式转换不仅可以把字符串转换成数字,还会将其转化成32位整数
log(null * 3) // 0log('333' * 3) // 999log('dsf' * 3) // NaN// null在运算的时候会被隐式转化为0. 如果变量中的内容是数字,那会就会隐式转化为数字,否则不会报错,会继续执行,但是得到的结果是NaN
log('the Math Object:' + Math) // the Math Object:[object Math]// 对象则会调用自身的toString方法,再用结果运算
// 真值转换// JavaScript中如果要进行逻辑运算,即 if ,|| ,&& .大多数值都会被转化成true.只有 false,0,-0,null,'',undefined,NaN会是假值.if(false){ // false console.log('true')}else{ console.log('false')}if(0){ // false console.log('true')}else{ console.log('false')}if(-0){ // false console.log('true')}else{ console.log('false')}if(''){ // false console.log('true')}else{ console.log('false')}if(undefined){ // false console.log('true')}else{ console.log('false')}if(null){ // false console.log('true')}else{ console.log('false')}if(NaN){ // false console.log('true')}else{ console.log('false')}if(32){ // true console.log('true')}else{ console.log('false')}if(true){ // true console.log('true')}else{ console.log('false')}if(-435){ // true console.log('true')}else{ console.log('false')}if('dsf'){ // true console.log('true')}else{ console.log('false')}if({}){ // true console.log('true')}else{ console.log('false')}if([]){ // true console.log('true')}else{ console.log('false')}
阅读全文
0 0
- JavaScript隐式类型转换
- JavaScript隐式类型转换
- JavaScript隐式类型转换
- JavaScript显式类型转换与隐式类型转换
- JavaScript强制类型转换和隐式类型转换
- JavaScript类型转换之隐式类型转换
- javascript中的隐式类型转换
- JavaScript中的隐式类型转换
- JavaScript中的隐式类型转换
- JavaScript的隐式类型转换
- JavaScript隐式类型转换趣解
- JavaScript的隐式类型转换浅析
- JavaScript的隐式类型转换浅析
- JavaScript的隐式类型转换浅析
- JavaScript数据转换四——隐式类型转换
- javascript显式类型转换
- JavaScript类型转换之显式类型转换
- JavaScript 类型 及 类型转换
- Sql Server日期查询-SQL查询今天、昨天、7天内、30天
- 关于Datatables editor 的使用细节以及数据格式(第一次博客,希望对有需要的人有帮助)
- JavaScript实现-猴子吃香蕉,分割数组 Chunky Monkey
- 【Selenium】Chromedriver版本(更新至v2.34)与Chrome版本(更新至63)映射关系
- 20171102_chr_download 文件下载
- JavaScript隐式类型转换
- 取得税率Code和税率的值
- iis基础提升
- 转载:ios软件客户端测试
- 如何使用Java Enum
- 1. Two Sum
- 关于在spyder中自动代码自动补全
- 【转载】为何程序员喜欢将INF设置为0x3f3f3f3f?
- linux,将新硬盘挂在到/home下