基于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实现给指定元素的后面追加内容
Apr 10 Javascript
extjs ColumnChart设置不同的颜色实现代码
May 17 Javascript
简介alert()与console.log()的不同
Aug 26 Javascript
关于数据与后端进行交流匹配(点亮星星)
Aug 03 Javascript
javascript 注释代码的几种方法总结
Jan 04 Javascript
详解用node.js实现简单的反向代理
Jun 26 Javascript
详解Webpack DLL用法以及功能
Jul 11 Javascript
Vue项目中quill-editor带样式编辑器的使用方法
Aug 08 Javascript
angular4中关于表单的校验示例
Oct 16 Javascript
用vuex写了一个购物车H5页面的示例代码
Dec 04 Javascript
vue.js iview打包上线后字体图标不显示解决办法
Jan 20 Javascript
js实现点击按钮随机生成背景颜色
Sep 05 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获取mysql数据库中的所有表名的代码
2011/04/23 PHP
php 获取百度的热词数据的代码
2012/02/18 PHP
php笔记之:初探PHPcms模块开发介绍
2013/04/26 PHP
PHP命名空间(Namespace)的使用详解
2013/05/04 PHP
zen_cart实现支付前生成订单的方法
2016/05/06 PHP
初学prototype,发个JS接受URL参数的代码
2006/09/25 Javascript
IE event.srcElement和FF event.target 功能比较
2010/03/01 Javascript
Notify - 基于jquery的消息通知插件
2011/10/18 Javascript
js特殊字符过滤的示例代码
2014/03/05 Javascript
node.js中的fs.mkdir方法使用说明
2014/12/17 Javascript
Javascript基础教程之for循环
2015/01/18 Javascript
利用jQuery和CSS将背景图片拉伸
2015/10/16 Javascript
Jquery插件之Fancybox丰富的弹出层效果附源码下载
2015/12/02 Javascript
分享网页检测摇一摇实例代码
2016/01/14 Javascript
基于Javascript实现文件实时加载进度的方法
2016/10/12 Javascript
JS利用cookies设置每隔24小时弹出框
2017/04/20 Javascript
AngularJS $http post 传递参数数据的方法
2018/10/09 Javascript
详解微信小程序-canvas绘制文字实现自动换行
2019/04/26 Javascript
微信小程序实现3D轮播图效果(非swiper组件)
2019/09/21 Javascript
Node.js操作MongoDB数据库实例分析
2020/01/19 Javascript
js与jquery获取input输入框中的值实例讲解
2020/02/27 jQuery
JavaScript实现Tab标签页切换的最简便方式(4种)
2020/06/28 Javascript
Python使用稀疏矩阵节省内存实例
2014/06/27 Python
matplotlib设置legend图例代码示例
2017/12/19 Python
Python tkinter的grid布局及Text动态显示方法
2018/10/11 Python
python3读取csv文件任意行列代码实例
2020/01/13 Python
python3通过subprocess模块调用脚本并和脚本交互的操作
2020/12/05 Python
澳洲最大的时尚奢侈品电商平台:Cettire
2020/06/15 全球购物
岗位职责定义及内容
2013/11/08 职场文书
美德好少年主要事迹
2014/01/29 职场文书
小学老师寄语大全
2014/04/04 职场文书
2014年售后服务工作总结
2014/11/18 职场文书
2014大学辅导员工作总结
2014/12/02 职场文书
美容院员工规章制度
2015/08/05 职场文书
创业计划书之蛋糕店
2019/08/29 职场文书
Vue3实现简易音乐播放器组件
2022/08/14 Vue.js