基于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学习3:操作元素属性和特性
Feb 07 Javascript
基于jquery封装的一个js分页
Nov 15 Javascript
深入理解JavaScript系列(8) S.O.L.I.D五大原则之里氏替换原则LSP
Jan 15 Javascript
JavaScript的Backbone.js框架的一些使用建议整理
Feb 14 Javascript
js获取隐藏元素宽高的实现方法
May 19 Javascript
实例讲解JavaScript中instanceof运算符的用法
Jun 08 Javascript
AngularJS入门教程之Scope(作用域)
Jul 27 Javascript
bootstrap table插件的分页与checkbox使用详解
Jul 23 Javascript
javascript实现5秒倒计时并跳转功能
Jun 20 Javascript
Vue.js组件实现选项卡以及切换特效
Jul 24 Javascript
layui加载表格,绑定新增,编辑删除,查看按钮事件的例子
Sep 06 Javascript
Vue+Node实现商品列表的分页、排序、筛选,添加购物车功能详解
Dec 07 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
这东西价格,可以买几台TECSUN S-2000
2021/03/02 无线电
dedecms系统的广告设置代码 基础版本
2010/04/09 PHP
php中根据某年第几天计算出日期年月日的代码
2011/02/24 PHP
PHP中$this和$that指针使用实例
2015/01/06 PHP
PHP Oauth授权和本地加密实现方法
2016/08/12 PHP
php实现session共享的实例方法
2019/09/19 PHP
如何实现浏览器上的右键菜单
2006/07/10 Javascript
Javascript 代码也可以变得优美的实现方法
2009/06/22 Javascript
JavaScript 对象、函数和继承
2009/07/07 Javascript
javascript奇异的arguments分析
2010/10/20 Javascript
js自执行函数的几种不同写法的比较
2012/08/16 Javascript
javascript跟随滚动效果插件代码(javascript Follow Plugin)
2013/08/03 Javascript
Jquery getJSON方法详细分析
2013/12/26 Javascript
js函数参数设置默认值的一种变通实现方法
2014/05/26 Javascript
用svg制作富有动态的tooltip
2015/07/17 Javascript
jQuery、zepto、js常用小技巧
2017/02/12 Javascript
详解vue组件化开发-vuex状态管理库
2017/04/10 Javascript
vue+swiper实现左右滑动的测试题功能
2020/10/30 Javascript
解决vant-UI库修改样式无效的问题
2020/11/03 Javascript
[01:45]典藏宝瓶2+祈求者身心——这就是DOTA2TI9总奖金突破3000万美元的秘密
2019/07/21 DOTA
Python ORM框架SQLAlchemy学习笔记之安装和简单查询实例
2014/06/10 Python
Python中的闭包详细介绍和实例
2014/11/21 Python
Python2.x和3.x下maketrans与translate函数使用上的不同
2015/04/13 Python
pymongo为mongodb数据库添加索引的方法
2015/05/11 Python
Python使用修饰器执行函数的参数检查功能示例
2017/09/26 Python
Python 占位符的使用方法详解
2019/07/10 Python
使用OpCode绕过Python沙箱的方法详解
2019/09/03 Python
PyTorch使用cpu加载模型运算方式
2020/01/13 Python
matplotlib基础绘图命令之bar的使用方法
2020/08/13 Python
Python 调用 ES、Solr、Phoenix的示例代码
2020/11/23 Python
文化宣传方案
2014/03/13 职场文书
安全月活动总结
2014/05/05 职场文书
责任心演讲稿
2014/05/14 职场文书
创意婚礼策划方案
2014/05/18 职场文书
餐饮服务食品安全责任书
2014/07/25 职场文书
副总经理岗位职责范本
2015/04/08 职场文书