最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

javascript不同类型数据之间的运算的转换方法_javascript技巧

来源:动视网 责编:小采 时间:2020-11-27 21:19:32
文档

javascript不同类型数据之间的运算的转换方法_javascript技巧

javascript不同类型数据之间的运算的转换方法_javascript技巧:js中不同类型的基础数据之间可以转换,这种转换是有规则可寻的,并非随意的随机的。在js中有5种基础类型数据:string、number、boolean、null、undefined,其中,常用于计算或者比较的类型是前面三种。 基础数据之间的转换 其它类型转化数字 原始数据
推荐度:
导读javascript不同类型数据之间的运算的转换方法_javascript技巧:js中不同类型的基础数据之间可以转换,这种转换是有规则可寻的,并非随意的随机的。在js中有5种基础类型数据:string、number、boolean、null、undefined,其中,常用于计算或者比较的类型是前面三种。 基础数据之间的转换 其它类型转化数字 原始数据


js中不同类型的基础数据之间可以转换,这种转换是有规则可寻的,并非随意的随机的。在js中有5种基础类型数据:string、number、boolean、null、undefined,其中,常用于计算或者比较的类型是前面三种。

基础数据之间的转换

其它类型转化数字
原始数据类型 目标类型Number
undefined NaN
null 0
false 0
true 1
数字串 相应的数字
不能转化的字符串 NaN
其它类型转化为字符串
原始数据类型 目标类型String
undefined undefined
null null
false false
true true
数字 数字字符串

不同类型的基础数据之间的加法,数据先转换为number,然后转换为string(如果有string类型数据参与运算)

代码如下:
null + undefined // 0+NaN

null + false // 0+0

1 + true // 1+1

1 + '1' //'11';数字与字符串相加结果是字符串

1 + 2 + '3' //'33';(1+2)的结果然后与'3'相加;这里要把每一步加法单独拆开来看,否则变成和下面一样的结果了.

1 + (2 +'3') //'123';先运算2+'3',然后1+'23'

's' + null //'snull'

's' + undefined // 'sundefined'

's' + true //'strue'

1 + true + undefined + 's' // 1+1+NaN+'s'=2+NaN+'s'=NaN+'s'=NaNs

对象参与加减法运算

对象参与基础类型数据运算,先转化为基础类型。先调用其valueOf方法,如果返回的不是基础类型,再调用其toString方法,如果返回的还不是基础类型,则抛出错误。但是,Date数据刚好相反

代码如下:
//为了便于观察重写Date的toString方法和valueOf方法

Date.prototype.toString = function(){
return 1;
}

Date.prototype.valueOf = function(){

return 2;
}

var a = new Date,
b = new Date;

a + b; // 调用toString,1 + 1,结果是2

// 再重写toString方法

Date.prototype.toString = function(){

return {};
}

var c = new Date,
d = new Date;

c + d; // 调用toString方法返回的不是基础类型,再调用valueOf,2 + 2,结果是4

// 再重写valueOf方法
Date.prototype.valueOf = function(){

return {};
}

var e = new Date,
f = new Date;

e + f; // 报错

把上面的例子换成Object或者其他类型能得到相应的结果,不过是先调用valueOf,再调用toString。

'+'号的神奇功效

数据前有加号‘+',可以让字符串转化为数字

代码如下:
+'1'+1 // 2

+'s'+2 // NaN

注:第一次,格式不好,纰漏多,欢迎大家拍砖

文档

javascript不同类型数据之间的运算的转换方法_javascript技巧

javascript不同类型数据之间的运算的转换方法_javascript技巧:js中不同类型的基础数据之间可以转换,这种转换是有规则可寻的,并非随意的随机的。在js中有5种基础类型数据:string、number、boolean、null、undefined,其中,常用于计算或者比较的类型是前面三种。 基础数据之间的转换 其它类型转化数字 原始数据
推荐度:
标签: 转换 js javascript
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top