基于javascript 显式转换与隐式转换(详解)


Posted in Javascript onDecember 15, 2017

显示转换

1.题目:请输入今年的年龄,求5年后多大?

//a.prompt接收到的数据是string类型的。
var age = prompt("请输入你今年的年龄");
alert(typeof age);
var age5 = age + 5; // 这里只会拼接成了15,而不是加5
alert("我今年"+age+"岁了,5年后我"+age5+"岁了");

2.字符串要转换成number类型。

针对上述问题,需要将age转换为数字型

2.1 可以使用Number(需要转化的内容);

var str = true;
  var num = Number(str);
  console.log(num); //1 
  console.log(typeof num); //number
  // 注意:
  // 1.如果这个转换的字符串本身就是一个数字,那么可以转换成功; 如果这个字符串本身不是一个数字,那么转成NaN.
  // 2.如果这个字符串本身是一个数字,前后有空格,也是会转换成功的; 如果中间有空格,就转成NaN.
  // 3.如果是一个"",或者是" ",或者是flase,那么会转换成0.true转成1,undefined转成NaN
  // 4.如果字符串的本身是一个小数,也是可以转换成功的。

2.2 可以使用parseInt(需要转化的内容);

var str = "123";
var num = parseInt(str);
console.log(num); //123
console.log(typeof num); //number
//  注意:
//  1.从左往右查找,直到遇到第一个非数字为止,前面的所有的内容转换成数字。
//  2.如果找完了,都没有找到一个数字,那么就转换成NaN.
//  3."" 和 "  " 转化成NaN
//  4.如果字符串里面是小数,那么转换后只能得到他的整数部分。

2.3 可以使用parseFloat(需要转化的内容);

var str = "123.24ll";
var num = parseFloat(str);
console.log(num); //123.24
console.log(typeof num); //number
// 注意:如果字符串里面是小数,那么转换后还是小数。。
//******注意: true会转成1,false会转换0.
// 如果字符串转数字,一般的使用parseInt或者parseFolat。
// 如果是其他类型,比如布尔类型,使用Number();

3. 其他类型数据 转换成字符串类型。

3.1 可以使用 String(需要转化的内容);

var num = 123;
var str = String(num);
console.log(str); //"123"
console.log(typeof str); //string
//注意: "123"  "true" "false" "undefined"  "null" "NaN"

3.2 可以使用 需要转化的内容.toString();

var num = 123;
var str = num.toString();
console.log(str); //"123"
console.log(typeof str); //string
//注意: "123"  "true" "false "NaN"
//undefined 和null 不能使用toString。

4.其他的数据类型 转换成 boolean类型。

4.1 可以使用Boolean(需要转化的内容);

var num = "";
var res = Boolean(num);
console.log(res); //false
console.log(typeof res); //boolean
//注意:
//那些可以转换成布尔类型的false: 0 -0  false "" undefined null NaN
//" "会转换成true

隐式转换

1.其他的类型转换成number类型。

1.1 可以在需要转换的内容前面加上正号。 +

var str = "123";
var res = +str;
console.log(res); //123
console.log(typeof res); //number

1.2 可以让需要转换的内容做算术运算不能后面用 +

var str = "123";
var res = str * 1;
console.log(res); //123
console.log(typeof res); //number
//注意: 一定要和连接符做一个区分。

2.其他的类型转换成string类型 。 使用连接符 +“”

var num = 123;
var str = num + "";
console.log(str); //"123"
console.log(typeof str);//string

3.其他的类型转换成boolean类型 。 使用取反运算符

var num = undefined;
var res = !!num;
console.log(res); //false
console.log(typeof res);boolean
// 注意:那些能转成布尔类型的false:0 -0 false undefiend null NaN ""

1.题目:请输入今年的年龄,求5年后多大?

//a.prompt接收到的数据是string类型的。
var age = +prompt("请输入你今年的年龄");
var age5 = age + 5;
alert("我今年"+age+"岁了,5年后我"+age5+"岁了");

以上这篇基于javascript 显式转换与隐式转换(详解)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
jQuery弹出层插件简化版代码下载
Oct 16 Javascript
一个js的tab切换效果代码[代码分离]
Apr 11 Javascript
判断用户的在线状态 onbeforeunload事件
Mar 05 Javascript
页面实时更新时间的JS实例代码
Dec 18 Javascript
简介JavaScript中valueOf()方法的使用
Jun 05 Javascript
BootStrap 下拉菜单点击之后不会出现下拉菜单(下拉菜单不弹出)的解决方案
Dec 14 Javascript
JavaScript事件发布/订阅模式原理与用法分析
Aug 21 Javascript
开发中常用的25个JavaScript单行代码(小结)
Jun 28 Javascript
Jquery动态列功能完整实例
Aug 30 jQuery
LayUi使用switch开关,动态的去控制它是否被启用的方法
Sep 21 Javascript
15分钟上手vue3.0(小结)
May 20 Javascript
vue 调用 RESTful风格接口操作
Aug 11 Javascript
ReactNative中使用Redux架构总结
Dec 15 #Javascript
Angular中使用MathJax遇到的一些问题
Dec 15 #Javascript
vue实现验证码输入框组件
Dec 14 #Javascript
基于滚动条位置判断的简单实例
Dec 14 #Javascript
微信小程序实现动态设置placeholder提示文字及按钮选中/取消状态的方法
Dec 14 #Javascript
ES6/JavaScript使用技巧分享
Dec 14 #Javascript
Django与Vue语法的冲突问题完美解决方法
Dec 14 #Javascript
You might like
深入理解PHP原理之Session Gc的一个小概率Notice
2011/04/12 PHP
php设计模式 Observer(观察者模式)
2011/06/26 PHP
kohana框架上传文件验证规则写法示例
2014/07/14 PHP
PHP实现的memcache环形队列类实例
2015/07/28 PHP
PHP中session跨子域的三种实现方法
2016/07/25 PHP
PHP巧妙利用位运算实现网站权限管理的方法
2017/03/12 PHP
PHP实现找出有序数组中绝对值最小的数算法分析
2017/08/07 PHP
javascript静态的url如何传递
2007/05/03 Javascript
js 对联广告、漂浮广告封装类(IE,FF,Opera,Safari,Chrome
2009/11/26 Javascript
javascript cookie操作类的实现代码小结附使用方法
2010/06/02 Javascript
js实现的点击div区域外隐藏div区域
2014/06/30 Javascript
javascript trim函数在IE下不能用的解决方法
2014/09/12 Javascript
在JavaScript中访问字符串的子串
2015/07/07 Javascript
浅析jQuery 遍历函数,javascript中的each遍历
2016/05/25 Javascript
jQuery+CSS实现简单切换菜单示例
2016/07/27 Javascript
Jquery uploadify 多余的Get请求(404错误)的解决方法
2017/01/26 Javascript
Chrome调试折腾记之JS断点调试技巧
2017/09/11 Javascript
vue中,在本地缓存中读写数据的方法
2018/09/21 Javascript
微信小程序实现多个按钮的颜色状态转换
2019/02/15 Javascript
JavaScript模块管理的简单实现方式详解
2019/06/15 Javascript
js实现全选和全不选
2020/07/28 Javascript
Vue实现菜单切换功能
2020/11/08 Javascript
Vue如何循环提取对象数组中的值
2020/11/18 Vue.js
[01:20]DOTA2 2017国际邀请赛冠军之路无止竞
2017/06/19 DOTA
python进程管理工具supervisor使用实例
2014/09/17 Python
Python 记录日志的灵活性和可配置性介绍
2018/02/27 Python
Django实现网页分页功能
2019/10/31 Python
西班牙在线宠物商店:zooplus.es
2017/02/24 全球购物
澳大利亚领先的孕妇服装品牌:Mamaway
2018/08/14 全球购物
KOHLER科勒美国官网:国际著名卫浴橱柜领先品牌
2020/06/27 全球购物
预备党员党课思想汇报
2014/01/13 职场文书
留学推荐信写作指南
2014/01/25 职场文书
技术经济专业求职信
2014/09/03 职场文书
家长通知书家长意见
2014/12/30 职场文书
HTML速写之Emmet语法规则的实现
2021/04/07 HTML / CSS
springboot 全局异常处理和统一响应对象的处理方式
2022/06/28 Java/Android