JavaScript学习记录之JS数据类型

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_42435041/article/details/83421919

学习目标:

1.认识JavaScript的数据类型

基本类型:undefined、unll、Boolean、Number、String
引用类型:object、function、Array

2.认识typeof操作符

  • typefo:检测变量的类型
  • 语法:typeof变量 或 typeof(变量)

(变量本身是没有类型的,它的类型取决于它的值)

<!DOCTYPE html>
<html>
<head>
    <title>数据类型</title>
</head>
<body>
    <script>
       // typeof
       var name = "marry";
       alert(typeof(name)); //string
    </script>
</body>
</html>

3.理解undefined、null

  • undefined 即为 未定义
<!DOCTYPE html>
<html>
<head>
    <title>数据类型</title>
</head>
<body>
    <script>
      var age;
       alert(age); //undefined
       //声明未赋值
    </script>
</body>
</html>
  • null:表示一个空的对象指针。
    -如果需要某个变量来保存将来的值,那么最好的做法就是将该变量初始化为null

4.认识Number
number:表示整数和浮点数
5.理解isNaN()
NaN:即非数值(Not a Number)是一个特殊的数值

<!DOCTYPE html>
<html>
<head>
    <title>数据类型</title>
</head>
<body>
    <script>
      var age = 18;
      
       alert(age -3); //15
       
       alert(age - "abc") //NaN
       
       //打印它的类型却是number
       
       alert(typeof age - "abc")  //number
    </script>
</body>
</html>

说明:

  • 任何涉及NaN的操作(NaN+10)都会返回NaN
  • NaN不与任何值相等,包括NaN本身
    isNaN()语法: isNaN(n) - 检测n是否为 “非数值”

说明:

  • isNaN()对接收到的数值,会先尝试转换为数值,在检测是否为非数值
<!DOCTYPE html>
<html>
<head>
    <title>数据类型</title>
</head>
<body>
    <script>
      var age = 18;
      alert(isNaN(age)) //false
    </script>
</body>
</html>

6.掌握数值转换
(1)- Number()
当转换的值是string类型时,返回的则是NaN,因为无法得知string值转换过来是多少
parseInt() 和 parseFloat()则是用来把字符串转换成数值的

<!DOCTYPE html>
<html>
<head>
    <title>数据类型</title>
</head>
<body>
    <script>
       var age = "18";
    alert(Number(name))  //18
    </script>
</body>
</html>

(2)- parseInt()
说明:

  • 会忽略字符串前面的空格,直至找到第一个非空格字符(以数字开头,否则返回NaN)
  • 1、parseInt():转换空字符返回NaN
  • 2、parseInt()这个函数提供两个参数:转换时使用的基数(即多少进制)
<!DOCTYPE html>
<html>
<head>
    <title>数据类型</title>
</head>
<body>
    <script>
     var breadth = parseInt("50px");
      	alert(breadth) //50
	var a = "a5";
		alert(parseInt(a)); //NaN
		alert(parseInt("0xf",16)); //转换为16进制
    </script>
</body>
</html>

(3)- parseFloat()
说明: 从第一个字符开始解析每个字符,直至遇见一个无效的浮点数字符为止(以数字开头,否则返回NaN)

  • 1、除了第一个小数点有效外,其余都无效
<!DOCTYPE html>
<html>
<head>
    <title>数据类型</title>
</head>
<body>
    <script>
     var b = parseFloat("12.2px");
      	alert(b) //12.2";
	var c = parseFloat("0.54aa");
		alert(c) //0.54
    </script>
</body>
</html>

7.JS中的string和boolean类型:
string类型用于表示由零或多个16为Unicode字符组成的字符序列,简单的说就是字符串。需要用双引号 (“Some writing”)单引号(‘Some writing’) 来表示。

既然Number可以利用内置方法进行转换,那字符串固然也是可以的
toString()与String():

  • toString:

语法:str.toString(),将str转换为字符串。
说明: 在不清楚值是否为null或undefined的情况下,尽量使用String()函数,它可以将任何类型的值转换为字符串。

<!DOCTYPE html>
<html>
<head>
	<title>string</title>
</head>
<body>
	<script type="text/javascript">
		var id = 23;
		var idstr = id.toString();
		alert(idstr); //23
		alert(String(idstr)); //String()用法
	</script>
</body>
</html>

你可能会疑惑,这个输出不也是数值嘛…
其实我们可以利用之前讲过的typeof来检测一下看他是不是string

<!DOCTYPE html>
<html>
<head>
	<title>string</title>
</head>
<body>
	<script type="text/javascript">
		var id = 23;
		var idstr = id.toString();
		alert(typeof idstr); //string
		alert(String(typeof idstr)); //String()用法
		
		//不清楚类型使用
		var m; //声明未赋值
		alert(String(m))  //undefined
	</script>
</body>
</html>

Boolean: 用于表示真假的类型,只有两个值,true(真)、false(假)。

类型转换

  • 除0之外的所有数字,转换为布尔型都为true(真)
  • 除" "之外的所有字符,转换为布尔型都为true
  • null和undefined转换为布尔型为false

猜你喜欢

转载自blog.csdn.net/qq_42435041/article/details/83421919