基于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 23 Javascript
基于jQuery+HttpHandler实现图片裁剪效果代码(适用于论坛, SNS)
Sep 02 Javascript
Javascript 页面模板化很多人没有使用过的方法
Jun 05 Javascript
jquery实现table鼠标经过变色代码
Sep 25 Javascript
node.js中的Socket.IO使用实例
Nov 04 Javascript
jQuery实现指定内容滚动同时左侧或其它地方不滚动的方法
Aug 08 Javascript
基于jQuery实现多层次的手风琴效果附源码
Sep 21 Javascript
JS中对象与字符串的互相转换详解
May 20 Javascript
基于JS实现checkbox全选功能实例代码
Oct 31 Javascript
Vue中的字符串模板的使用
May 17 Javascript
vue项目实现表单登录页保存账号和密码到cookie功能
Aug 31 Javascript
Vue过滤器,生命周期函数和vue-resource简单介绍
Jan 12 Vue.js
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
Smarty的配置与高级缓存技术分享
2012/06/05 PHP
php的mssql数据库连接类实例
2014/11/28 PHP
php+xml结合Ajax实现点赞功能完整实例
2015/01/30 PHP
PHP配置把错误日志以邮件方式发送方法(Windows系统)
2015/06/23 PHP
PHP读取大文件末尾N行的高效方法推荐
2016/06/03 PHP
扩展easyui.datagrid,添加数据loading遮罩效果代码
2010/11/02 Javascript
Jquery方式获取iframe页面中的 Dom元素
2014/05/07 Javascript
基于jquery实现放大镜效果
2015/08/17 Javascript
jQuery简单实现input文本框内灰色提示文本效果的方法
2015/12/02 Javascript
Jquery中巧用Ajax的beforeSend方法
2016/01/20 Javascript
javascript运算符——逻辑运算符全面解析
2016/06/27 Javascript
JS中使用DOM来控制HTML元素
2016/07/31 Javascript
用js写的一个路由(简单实例)
2016/09/24 Javascript
JS中with的替代方法与String中的正则方法详解
2016/12/23 Javascript
Node.js调用fs.renameSync报错(Error: EXDEV, cross-device link not permitted)
2017/12/27 Javascript
解决Vue不能检测数组或对象变动的问题
2018/02/24 Javascript
vue.js 嵌套循环、if判断、动态删除的实例
2018/03/07 Javascript
微信小程序自定义底部导航带跳转功能
2018/11/27 Javascript
JS基于ES6新特性async await进行异步处理操作示例
2019/02/02 Javascript
基于AngularJS拖拽插件ngDraggable.js实现拖拽排序功能
2019/04/02 Javascript
JS实现拼图游戏
2021/01/29 Javascript
[02:07]TI9显影之尘系列 - Vici Gaming
2019/08/20 DOTA
Python lambda和Python def区别分析
2014/11/30 Python
Python isinstance函数介绍
2015/04/14 Python
Python3.遍历某文件夹提取特定文件名的实例
2018/04/26 Python
Python3 导入上级目录中的模块实例
2019/02/16 Python
Python3内置模块pprint让打印比print更美观详解
2019/06/02 Python
Mac在python3环境下安装virtualwrapper遇到的问题及解决方法
2019/07/09 Python
python 爬取马蜂窝景点翻页文字评论的实现
2020/01/20 Python
用友笔试题目
2016/10/25 面试题
交通事故赔偿协议书范本
2014/04/15 职场文书
业务内勤岗位职责
2015/04/13 职场文书
企业催款函范本
2015/06/24 职场文书
2015国庆节宣传语
2015/07/14 职场文书
中国十大神话动漫电影排行榜 哪吒登顶 白蛇缘起排第七
2022/03/21 国漫
Mysql中@和@@符号的详细使用指南
2022/06/05 MySQL