基于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 相关文章推荐
HTML页面如何象ASP一样接受参数
Feb 07 Javascript
JQUERY CHECKBOX全选,取消全选,反选方法三
Aug 30 Javascript
javascript写的日历类(基于pj)
Dec 28 Javascript
JQuery制作的放大效果的popup对话框(未添加任何jquery plugin)分享
Apr 28 Javascript
模拟jQuery中的ready方法及实现按需加载css,js实例代码
Sep 27 Javascript
jQuery中:not选择器用法实例
Dec 30 Javascript
jquery实现根据浏览器窗口大小自动缩放图片的方法
Jul 17 Javascript
AngularJs定制样式插入到ueditor中的问题小结
Aug 01 Javascript
JavaScript实现自定义媒体播放器方法介绍
Jan 03 Javascript
jQuery分页插件jquery.pagination.js使用方法解析
Feb 09 Javascript
Vue项目自动转换 px 为 rem的实现方法
Oct 29 Javascript
为nuxt项目写一个面包屑cli工具实现自动生成页面与面包屑配置
Sep 29 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实现验证码功能
2006/10/09 PHP
PHP的范围解析操作符(::)的含义分析说明
2011/07/03 PHP
php 日期和时间的处理-郑阿奇(续)
2011/07/04 PHP
php根据生日计算年龄的方法
2015/07/13 PHP
PHP访问数据库集群的方法小结
2016/03/14 PHP
实例分析PHP将字符串转换成数字的方法
2019/01/27 PHP
PHP递归算法的简单实例
2019/02/28 PHP
Jquery ui css framework
2010/06/28 Javascript
复制小说文本时出现的随机乱码的去除方法
2010/09/07 Javascript
jquery实现显示已选用户
2014/07/21 Javascript
JavaScript实现防止网页被嵌入Frame框架的代码分享
2014/12/29 Javascript
jQuery通过扩展实现抖动效果的方法
2015/03/11 Javascript
JavaScript程序中实现继承特性的方式总结
2016/06/24 Javascript
在网页中插入百度地图的步骤详解
2016/12/02 Javascript
学习使用bootstrap的modal和carousel
2016/12/09 Javascript
jQuery Mobile漏洞会有跨站脚本攻击风险
2017/02/12 Javascript
vue实现移动端图片裁剪上传功能
2020/08/18 Javascript
vue中子组件传递数据给父组件的讲解
2019/01/27 Javascript
vue中的inject学习教程
2019/04/24 Javascript
JS数组属性去重并校验重复数据
2020/01/10 Javascript
Vue.js暴露方法给WebView的使用操作
2020/09/07 Javascript
[02:03]风行者至宝清风环佩外观展示
2020/09/05 DOTA
python 实现文件的递归拷贝实现代码
2012/08/02 Python
深入探究Django中的Session与Cookie
2017/07/30 Python
python实现猜数游戏
2020/03/27 Python
Python 操作SQLite数据库的示例
2020/10/16 Python
解决Pyinstaller打包软件失败的一个坑
2021/03/04 Python
CSS3的新特性介绍
2008/10/31 HTML / CSS
加拿大领先的优质厨具产品在线购物网站:Golda’s Kitchen
2017/11/17 全球购物
美国最佳选择产品网站:Best Choice Products
2019/05/27 全球购物
拖鞋店创业计划书
2014/01/15 职场文书
初一学生期末评语
2014/04/24 职场文书
信息管理专业自荐书
2014/06/05 职场文书
房地产经营管理专业自荐信
2014/09/02 职场文书
个人委托函范文
2015/01/29 职场文书
2015年档案管理员工作总结
2015/05/13 职场文书