基于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 相关文章推荐
asp.net中System.Timers.Timer的使用方法
Mar 20 Javascript
js获得地址栏?问号后参数的方法
Aug 08 Javascript
jQuery选择器源码解读(六):Sizzle选择器匹配逻辑分析
Mar 31 Javascript
jQuery焦点图轮播特效代码分享(3款)
Sep 05 Javascript
AngularJS中实现显示或隐藏动画效果的方式总结
Dec 31 Javascript
JQuery 动态生成Table表格实例代码
Dec 02 Javascript
vue.js实现单选框、复选框和下拉框示例
Jul 18 Javascript
echarts饼图扇区添加点击事件的实例
Oct 16 Javascript
Node.js创建HTTP文件服务器的使用示例
May 11 Javascript
Javascript迭代、递推、穷举、递归常用算法实例讲解
Feb 01 Javascript
防止Layui form表单重复提交的实现方法
Sep 10 Javascript
详解vue 自定义组件使用v-model 及探究其中原理
Oct 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
DSP接收机前端设想
2021/03/02 无线电
解析PHP正则提取或替换img标记属性
2013/06/26 PHP
PHP重定向与伪静态区别
2017/02/19 PHP
PHP实现百度人脸识别
2019/05/06 PHP
PHP实现页面静态化深入讲解
2021/03/04 PHP
js异常捕获方法介绍
2013/04/10 Javascript
js获取上传文件大小示例代码
2014/04/10 Javascript
深入理解setTimeout函数和setInterval函数
2016/05/20 Javascript
使用jquery获取url以及jquery获取url参数的实现方法
2016/05/25 Javascript
Jq通过td获取同行其它列td的方法
2016/10/05 Javascript
详解jquery easyui之datagrid使用参考
2016/12/05 Javascript
react-router实现按需加载
2017/05/09 Javascript
VUE前端cookie简单操作
2017/10/17 Javascript
vue 动态改变静态图片以及请求网络图片的实现方法
2018/02/07 Javascript
Jquery和CSS实现选择框重置按钮功能
2018/11/08 jQuery
vue分页器组件编写方法详解
2019/06/28 Javascript
layui导出所有数据的例子
2019/09/10 Javascript
JavaScript观察者模式原理与用法实例详解
2020/03/10 Javascript
js中复选框的取值及赋值示例详解
2020/10/18 Javascript
Python新手实现2048小游戏
2015/03/31 Python
python中PIL安装简单教程
2016/04/21 Python
Python二叉搜索树与双向链表转换算法示例
2019/03/02 Python
Python配置文件处理的方法教程
2019/08/29 Python
在pytorch中对非叶节点的变量计算梯度实例
2020/01/10 Python
Python selenium 自动化脚本打包成一个exe文件(推荐)
2020/01/14 Python
40行Python代码实现天气预报和每日鸡汤推送功能
2020/02/27 Python
美国隐形眼镜销售网站:ContactsDirect
2017/10/28 全球购物
优秀求职信范文分享
2014/01/26 职场文书
党员违纪检讨书
2014/02/18 职场文书
2015年建党94周年演讲稿
2015/03/19 职场文书
干部培训工作总结2015
2015/05/25 职场文书
2015年城管执法工作总结
2015/07/23 职场文书
Python基础之字符串格式化详解
2021/04/21 Python
详解Java线程池是如何重复利用空闲线程的
2021/06/26 Java/Android
详解gantt甘特图可拖拽、编辑(vue、react都可用 highcharts)
2021/11/27 Vue.js
解析探秘fescar分布式事务实现原理
2022/02/28 Java/Android