基于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 相关文章推荐
js兼容的placeholder属性详解
Aug 18 Javascript
轻松学习jQuery插件EasyUI EasyUI创建CRUD应用
Nov 30 Javascript
JavaScript实现阿拉伯数字和中文数字互相转换
Jun 12 Javascript
JS中innerHTML和pasteHTML的区别实例分析
Jun 22 Javascript
js利用clipboardData实现截屏粘贴功能
Oct 12 Javascript
功能强大的jquery.validate表单验证插件
Nov 07 Javascript
详解angularJS自定义指令间的相互交互
Jul 05 Javascript
在vue中使用echarts图表实例代码详解
Oct 22 Javascript
node.js实现微信开发之获取用户授权
Mar 18 Javascript
react MPA 多页配置详解
Oct 18 Javascript
vue中的mescroll搜索运用及各种填坑处理
Oct 30 Javascript
小程序卡片切换效果组件wxCardSwiper的实现
Feb 13 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的fsockopen、pfsockopen函数被主机商禁用的解决办法
2014/07/08 PHP
php中in_array函数用法探究
2014/11/25 PHP
PHP ADODB生成下拉列表框功能示例
2018/05/29 PHP
php+ajax实现商品对比功能示例
2019/04/13 PHP
js实现文字跟随鼠标移动而移动的方法
2015/02/28 Javascript
javascript实现百度地图鼠标滑动事件显示、隐藏
2015/04/02 Javascript
JS实现来回出现文字的状态栏特效代码
2015/10/31 Javascript
ExtJS 4.2 Grid组件单元格合并的方法
2016/10/12 Javascript
JS基于递归算法实现1,2,3,4,5,6,7,8,9倒序放入数组中的方法
2017/01/03 Javascript
Reactjs实现通用分页组件的实例代码
2017/01/19 Javascript
Node.js使用NodeMailer发送邮件实例代码
2017/03/06 Javascript
探索webpack模块及webpack3新特性
2017/09/18 Javascript
浅谈在vue项目中如何定义全局变量和全局函数
2017/10/24 Javascript
Angular浏览器插件Batarang介绍及使用
2018/02/07 Javascript
使用sessionStorage解决vuex在页面刷新后数据被清除的问题
2018/04/13 Javascript
layui数据表格实现重载数据表格功能(搜索功能)
2019/07/27 Javascript
解决Nuxt使用axios跨域问题
2020/07/06 Javascript
django静态文件加载的方法
2018/05/20 Python
对python 匹配字符串开头和结尾的方法详解
2018/10/27 Python
对Python实现简单的API接口实例讲解
2018/12/10 Python
Python GUI编程学习笔记之tkinter界面布局显示详解
2020/03/30 Python
Django模板报TemplateDoesNotExist异常(亲测可行)
2020/12/18 Python
伦敦所有西区剧院演出官方票务代理:Theatre Tickets Direct
2017/05/26 全球购物
Pharmacy Online中文直邮网站:澳洲大型药房
2020/06/27 全球购物
使用索引(Index)有哪些需要考虑的因素
2016/10/19 面试题
J2EE面试题集锦(附答案)
2013/08/16 面试题
店长岗位的工作内容
2013/11/12 职场文书
建筑学专业自荐书
2014/07/09 职场文书
党员四风剖析材料
2014/08/27 职场文书
同事欢送会致辞
2015/07/31 职场文书
环保建议书作文400字
2015/09/14 职场文书
法制教育讲座心得体会
2016/01/14 职场文书
学习型家庭事迹材料(2016精选版)
2016/02/29 职场文书
PostgreSQL数据库去除重复数据和运算符的基本查询操作
2022/04/12 PostgreSQL
vue postcss-px2rem 自适应布局
2022/05/15 Vue.js
Linux中文件的基本属性介绍
2022/06/01 Servers