JavaScript中数据类型转换

╰+攻爆jí腚メ 2022-06-16 12:58 393阅读 0赞

JavaScript是弱类型语言

1.声明变量时,不用规定变量的存储数据类型

2.赋值时,动态决定变量的数据类型,同一变量前后可以保存不同的数据类型

3.运算时,JavaScript会根据需要,动态地转换数据类型

隐式转换

无需程序员干预,JavaScript自动完成的类型转换

1.算术计算中,一切数据类型都隐式转换为number类型,在计算

2.+运算中,只要有一方是字符串类型,两个数据都转换为字符串类型,加运算变为字符串的拼接

例如:

  1. var n1=2,n2=3;
  2. var s1="2",s2="3";
  3. var b1=true,b2=false;
  4. document.write(n1+n2);//5
  5. document.write(n1+s2);//"23"
  6. document.write(b1+s2);//"true3"
  7. document.write(s1-b1);//1
  8. document.write(s2-n1);//1

表达式:由数据和运算符组成的一个公式,每个表达式默认都是从左向右,两两计算,每个表达式有且仅有一个运算结果

  1. document.write(n2+s2+b1);//"33true"
  2. document.write(n2+b1+s2);//"4"+"3" "43"
  3. document.write(s1+b1-n2);//NaN

NaN:Not a Number—>说明运算中包含了无法转为数字的值

不是数字的 数字

typeof(x):专门用来判断x的数据类型,返回数据类型名

typeof(NaN):number

注意:隐式转换仅影响表达式的运算结果,不影响变量中存储的实际值。

显式转换

程序员通过主动调用专门的函数,执行转换

1.任意类型转string类型:(2种)

var str=x.tostring();

var str=String(x);//隐式转换

javascript中,一切对象都有tostring方法

何时使用:程序在需要的时候,自动调用

**2.任意类型转为number类型:(2种)

任意类型转number:

var n=Number(x);//隐式转换:纯数字才可以转

**将字符串转为number:(2种)

parseInt()

var n=parseInt(str);

原理:从str开始位置逐个读取每个字符,知道碰到第一个不是数字的字符时,停止读取,自动忽略开头碰到的空格

比如:var width=”12px”;

  1. width+"2px"--->"12px2px";
  2. Number(width)+Number("2px")-->NaN
  3. parseInt(width)+parseInt("2px")-->parseInt("12px")+parseInt("2px")--->14
  4. // 如何将12px+2px,在保存回width变量中,width中的值必须带单位
  5. width="12px";
  6. width=parseInt(width)+7+"px";
  7. document.write(width);

注意:var money=”$400”; NaN

  1. var m="34.56"; 34 paeseInt 不认小数点

parseIfloat()

var n=parsseFloat(str);

原理和parseInt完全一样,但是parseFloat,认第一个小数点;

例如 :parseFloat(“34.56”);34.56

  1. parseFloat(“34.5678”);34.56

number()与parseInt(str)区别:

Number(“12px”)—->NaN

parseInt(“12px”)—->12

string to number ——>parseInt

Number(true)—->1

parseInt(true)—->parseInt(string(true))—->NaN

x to number——>Number()

3.任意类型转Boolean:(1种)

var bool=Boolean(x);—->隐式转换

“ “ NaN undefined null 0——>false

这五个值会隐式转为Boolean类型false,其余都是true

4.number,string,boolean转化图

Center

课外随笔:

输入框:var input=window.prompt(“please input a text:”);

*** 凡是从页面上获得的一切数据都是字符串类型。

发表评论

表情:
评论列表 (有 0 条评论,393人围观)

还没有评论,来说两句吧...

相关阅读

    相关 JavaScript 数据类型转换

    JavaScript 数据类型转换 数据类型转换在转换方式分为两种: (1).显式数据类型转换,指定由某种类型转换到另一种类型。 (2).隐式数据类型转换,代码根据上下文...