基于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 相关文章推荐
javascript prototype原型操作笔记
Dec 07 Javascript
IE和Firefox下event事件杂谈
Dec 18 Javascript
jQuery学习3:操作元素属性和特性
Feb 07 Javascript
jQuery实战之仿淘宝商城左侧导航效果
Apr 12 Javascript
jquery事件机制扩展插件 jquery鼠标右键事件
Dec 21 Javascript
js 点击页面其他地方关闭弹出层(示例代码)
Dec 24 Javascript
ExtJs纵坐标值重复问题的解决方法
Feb 27 Javascript
javascritp添加url参数将参数加入到url中
Sep 25 Javascript
Javascript获取统一管理的提示语(message)
Feb 03 Javascript
深入理解ES6的迭代器与生成器
Aug 19 Javascript
微信开发之企业付款到银行卡接口开发的示例代码
Sep 18 Javascript
详解JavaScript之ES5的继承
Jul 08 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
ThinkPHP的URL重写问题
2014/06/22 PHP
javascript String 的扩展方法集合
2008/06/01 Javascript
分享一个用Mootools写的鼠标滑过进度条改变进度值的实现代码
2011/12/12 Javascript
javascript图像处理—仿射变换深度理解
2013/01/16 Javascript
JQuery+DIV自定义滚动条样式的具体实现
2013/06/25 Javascript
js中Math之random,round,ceil,floor的用法总结
2013/12/26 Javascript
JavaScript实现的内存数据库LokiJS介绍和入门实例
2014/11/17 Javascript
JavaScript实现自动消除按钮功能的方法
2015/08/05 Javascript
JQuery+Ajax实现数据查询、排序和分页功能
2015/09/27 Javascript
js实现倒计时及时间对象
2016/11/15 Javascript
微信小程序 点击控件后选中其它反选实例详解
2017/02/21 Javascript
AngularJS 事件发布机制
2018/08/28 Javascript
小程序两种滚动公告栏的实现方法
2019/09/17 Javascript
在vue中嵌入外部网站的实现
2020/11/13 Javascript
[01:56]林书豪DOTA2上海特级锦标赛励志短片
2016/03/05 DOTA
Python3实现并发检验代理池地址的方法
2016/09/18 Python
Python入门_学会创建并调用函数的方法
2017/05/16 Python
Python处理命令行参数模块optpars用法实例分析
2018/05/31 Python
Python3 pip3 list 出现 DEPRECATION 警告的解决方法
2019/02/16 Python
PyCharm中代码字体大小调整方法
2019/07/29 Python
python查看数据类型的方法
2019/10/12 Python
Python发送手机动态验证码代码实例
2020/02/28 Python
Django2.1.7 查询数据返回json格式的实现
2020/12/29 Python
"火柴棍式"程序员面试题
2014/03/16 面试题
国窖1573广告词
2014/03/21 职场文书
教师读书活动总结
2014/05/07 职场文书
机械专业技术员求职信
2014/06/14 职场文书
学生安全责任书范本
2014/07/24 职场文书
群众路线查摆问题整改措施
2014/10/10 职场文书
绿色环保倡议书
2015/04/28 职场文书
2015年三好一满意工作总结
2015/07/24 职场文书
幼儿园毕业致辞
2015/07/29 职场文书
五年级语文教学反思
2016/03/03 职场文书
导游词之镇江西津古渡
2019/11/06 职场文书
MYSQL数据库使用UTF-8中文编码乱码的解决办法
2021/05/26 MySQL
Nginx跨域问题解析与解决
2022/08/05 Servers