基于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读取XML文件数据并显示的实现代码
Dec 16 Javascript
js实现的点击数量加一可操作数据库
May 09 Javascript
JS定义网页表单提交(submit)的方法
Mar 20 Javascript
BootStrap 智能表单实战系列(五) 表单依赖插件处理
Jun 13 Javascript
js中window.open的参数及注意注意事项
Jul 06 Javascript
详解vue模拟加载更多功能(数据追加)
Jun 23 Javascript
基于EasyUI的基础之上实现树形功能菜单
Jun 28 Javascript
Vue2几种常见开局方式详解
Sep 09 Javascript
js中this对象用法分析
Jan 05 Javascript
vue-vuex中使用commit提交mutation来修改state的方法详解
Sep 16 Javascript
原生JS实现九宫格抽奖
Sep 13 Javascript
JavaScript实现音乐导航效果
Nov 19 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 clearstatcache()函数详解
2010/03/02 PHP
php下通过curl抓取yahoo boss 搜索结果的实现代码
2011/06/10 PHP
PHP explode()函数用法、切分字符串
2012/10/03 PHP
ThinkPHP模板中判断volist循环的最后一条记录的验证方法
2014/07/01 PHP
PHP中文乱码解决方案
2015/03/05 PHP
laravel中短信发送验证码的实现方法
2018/04/25 PHP
基于jquery的表头固定的若干方法
2011/01/27 Javascript
Javascript 页面模板化很多人没有使用过的方法
2012/06/05 Javascript
jQuery移动和复制dom节点实用DOM操作案例
2012/12/17 Javascript
jquery $("#variable") 循环改变variable的值示例
2014/02/23 Javascript
js用Date对象的setDate()函数对日期进行加减操作
2014/09/18 Javascript
node.js中的fs.readdir方法使用说明
2014/12/17 Javascript
JS对字符串编码的几种方式使用指南
2015/05/14 Javascript
简介JavaScript中fixed()方法的使用
2015/06/08 Javascript
实例详解AngularJS实现无限级联动菜单
2016/01/15 Javascript
BootStrap 超链接变按钮的实现方法
2016/09/25 Javascript
详解webpack 如何集成第三方js库
2017/06/29 Javascript
Django+Vue跨域环境配置详解
2018/07/06 Javascript
JavaScript原型对象、构造函数和实例对象功能与用法详解
2018/08/04 Javascript
vue 点击按钮实现动态挂载子组件的方法
2018/09/07 Javascript
Vue项目部署在Spring Boot出现页面空白问题的解决方案
2018/11/26 Javascript
layui下拉框获取下拉值(select)的例子
2019/09/10 Javascript
解决三元运算符 报错“SyntaxError: can''t assign to conditional expression”
2020/02/12 Javascript
axios解决高并发的方法:axios.all()与axios.spread()的操作
2020/11/09 Javascript
python实现简易通讯录修改版
2018/03/13 Python
python3+PyQt5实现拖放功能
2018/04/24 Python
python3常用的数据清洗方法(小结)
2019/10/31 Python
python3操作注册表的方法(Url protocol)
2020/02/05 Python
通过Python扫描代码关键字并进行预警的实现方法
2020/05/24 Python
小学教师师德感言
2014/02/10 职场文书
党校个人自我鉴定范文
2014/03/28 职场文书
美术教师个人工作总结
2015/02/06 职场文书
学校2015年纠风工作总结
2015/05/15 职场文书
python使用XPath解析数据爬取起点小说网数据
2021/04/22 Python
Spring Bean的实例化之属性注入源码剖析过程
2021/06/13 Java/Android
java实现自定义时钟并实现走时功能
2022/06/21 Java/Android