基于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打开新窗口的2种方式
Apr 18 Javascript
js实现文本框中焦点在最后位置
Mar 04 Javascript
教你用AngularJS框架一行JS代码实现控件验证效果
Jun 23 Javascript
javascript使用for循环批量注册的事件不能正确获取索引值的解决方法
Dec 20 Javascript
jQuery中:submit选择器用法实例
Jan 03 Javascript
jQuery实现的简单折叠菜单(折叠面板)效果代码
Sep 16 Javascript
javascript 操作cookies详解及实例
Feb 22 Javascript
angularjs路由传值$routeParams详解
Sep 05 Javascript
jQuery实现checkbox全选功能完整实例
Jul 12 jQuery
vscode下vue项目中eslint的使用方法
Jan 13 Javascript
JS为什么说async/await是generator的语法糖详解
Jul 11 Javascript
Javascript之datagrid查询详解
Sep 15 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
常用表单验证类,有了这个,一般的验证就都齐了。
2006/12/06 PHP
PHP中全面阻止SQL注入式攻击分析小结
2012/01/30 PHP
php中CI操作多个数据库的代码
2012/07/05 PHP
分享下页面关键字抓取www.icbase.com站点代码(带asp.net参数的)
2014/01/30 PHP
QQ互联一键登录审核不通过的解决方案
2014/09/10 PHP
新浪微博OAuth认证和储存的主要过程详解
2015/03/27 PHP
Yii2简单实现给表单添加验证码的方法
2016/07/18 PHP
jQuery 各种浏览器下获得日期区别
2008/12/22 Javascript
jQuery 插件仿百度搜索框智能提示(带Value值)
2013/01/22 Javascript
jQuery中offsetParent()方法用法实例
2015/01/19 Javascript
javascript学习笔记整理(概述、变量、数据类型简介)
2015/10/25 Javascript
JS学习之表格的排序简单实例
2016/05/16 Javascript
Vue2.0基于vue-cli+webpack Vuex的用法(实例讲解)
2017/09/15 Javascript
vue页面跳转后返回原页面初始位置方法
2018/02/11 Javascript
浅谈Vue下使用百度地图的简易方法
2018/03/23 Javascript
vue+iview+less 实现换肤功能
2018/08/17 Javascript
vue3.0 CLI - 3.2 路由的初级使用教程
2018/09/20 Javascript
jquery无缝图片轮播组件封装
2020/11/25 jQuery
Vue 的双向绑定原理与用法揭秘
2020/05/06 Javascript
[02:42]DOTA2英雄基础教程 杰奇洛
2013/12/23 DOTA
Python基于QRCode实现生成二维码的方法【下载,安装,调用等】
2017/07/11 Python
Python基于time模块求程序运行时间的方法
2017/09/18 Python
Python爬虫包BeautifulSoup简介与安装(一)
2018/06/17 Python
python爬虫获取新浪新闻教学
2018/12/23 Python
解决Python3 被PHP程序调用执行返回乱码的问题
2019/02/16 Python
Python使用itchat模块实现群聊转发,自动回复功能示例
2019/08/26 Python
Python 实现集合Set的示例
2020/12/21 Python
Feelunique美国:欧洲大型的在线美妆零售电商
2018/11/04 全球购物
澳大利亚优质的家居用品和生活方式公司:Bed Bath N’ Table
2019/04/16 全球购物
四好少年事迹材料
2014/01/12 职场文书
大学军训感言400字
2014/03/11 职场文书
家长会主持词
2014/03/26 职场文书
乡镇保密工作承诺书
2015/05/04 职场文书
Python Parser的用法
2021/05/12 Python
tensorboard 可视化之localhost:6006不显示的解决方案
2021/05/22 Python
Opencv中cv2.floodFill算法的使用
2021/06/18 Python