基于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.ajax)
Nov 19 Javascript
javascript定时保存表单数据的代码
Mar 17 Javascript
JS对文本框值的判断示例
Mar 10 Javascript
Node.js异步I/O学习笔记
Nov 04 Javascript
SWFObject基本用法实例分析
Jul 20 Javascript
JavaScript代码轻松实现网页内容禁止复制(代码简单)
Oct 23 Javascript
jquery滚动条插件(可以自定义)
Dec 11 Javascript
jquery学习笔记之无new构建详解
Dec 07 jQuery
AngularJs用户输入动态模板XSS攻击示例详解
Apr 21 Javascript
详解Puppeteer 入门教程
May 09 Javascript
在vue中阻止浏览器后退的实例
Nov 06 Javascript
vue+element使用动态加载路由方式实现三级菜单页面显示的操作
Aug 04 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
PHP5.3.1 不再支持ISAPI
2010/01/08 PHP
PHP开发的一些注意点总结
2010/10/12 PHP
php不允许用户提交空表单(php空值判断)
2013/11/12 PHP
PHP设计模式之适配器模式代码实例
2015/05/11 PHP
Yii框架组件和事件行为管理详解
2016/05/20 PHP
thinkPHP实现的联动菜单功能详解
2017/05/05 PHP
PHP unlink与rmdir删除目录及目录下所有文件实例代码
2018/02/07 PHP
php微信公众号开发之现金红包
2018/04/16 PHP
PHP 爬取网页的主要方法
2018/07/13 PHP
PHP进阶学习之类的自动加载机制原理分析
2019/06/18 PHP
js 数组操作代码集锦
2009/04/28 Javascript
NodeJS学习笔记之(Url,QueryString,Path)模块
2015/01/13 NodeJs
在for循环中length值是否需要缓存
2015/07/27 Javascript
浅谈js中同名函数和同名变量的执行问题
2017/02/12 Javascript
详解nodejs微信公众号开发——2.自动回复
2017/04/10 NodeJs
从零开始在NPM上发布一个Vue组件的方法步骤
2018/12/20 Javascript
详解Vue、element-ui、axios实现省市区三级联动
2019/05/07 Javascript
使用js实现单链解决前端队列问题的方法
2020/02/03 Javascript
VUE table表格动态添加一列数据,新增的这些数据不可以编辑(v-model绑定的数据不能实时更新)
2020/04/03 Javascript
Python文本特征抽取与向量化算法学习
2017/12/22 Python
对python 匹配字符串开头和结尾的方法详解
2018/10/27 Python
python实现停车管理系统
2018/11/30 Python
python em算法的实现
2020/10/03 Python
HTML5中的音频和视频媒体播放元素小结
2016/01/29 HTML / CSS
ET Mall东森购物网:东森严选
2017/03/06 全球购物
美国女孩洋娃娃店:American Girl
2017/10/24 全球购物
DOM和JQuery对象有什么区别
2016/11/11 面试题
如何写一个自定义标签
2012/12/28 面试题
财务管理职业生涯规划范文
2013/12/27 职场文书
初中军训感想300字
2014/03/05 职场文书
银行贷款承诺书
2014/03/29 职场文书
县政府办公室领导班子个人对照检查材料
2014/09/16 职场文书
2014年十八届四中全会思想汇报范文
2014/10/17 职场文书
教师业务学习材料
2014/12/16 职场文书
入党积极分子培养联系人意见
2015/08/12 职场文书
javascript拖曳互换div的位置实现示例
2021/06/28 Javascript