JavaScript高级 之 数据类型

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

 数据类型

1.数据类型的分类和判断

<!DOCTYPE html>
<html lang="en">
	<head>
	  <meta charset="UTF-8">
	  <title>01_数据类型</title>
	</head>
	<body>
	<!--
	1. 分类
	  * 基本(值)类型
		* String: 任意字符串
		* Number: 任意的数字
		* boolean: true/false
		* undefined: undefined
		* null: null
	  * 对象(引用)类型
		* Object: 任意对象
		* Function: 一种特别的对象(可以执行)
		* Array: 一种特别的对象(数值下标, 内部数据是有序的)
	2. 判断
	  * typeof:
		* 可以判断: undefined/ 数值 / 字符串 / 布尔值 / function
		* 不能判断: null与object  object与array
	  * instanceof:
		* 判断对象的具体类型
	  * ===
		* 可以判断: undefined, null
	-->

		<script type="text/javascript">
		  //1. 基本
		  // typeof返回数据类型的字符串表达
		  var a
		  console.log(a, typeof a, typeof a==='undefined',a===undefined )  // undefined 'undefined' true true
		  console.log(undefined==='undefined')
		  a = 4
		  console.log(typeof a==='number')
		  a = 'atguigu'
		  console.log(typeof a==='string')
		  a = true
		  console.log(typeof a==='boolean')
		  a = null
		  console.log(typeof a, a===null) // 'object'

		  console.log('-----------------')
		  //2. 对象
		  var b1 = {
			b2: [1, 'abc', console.log],
			b3: function () {
			  console.log('b3')
			  return function () {
				return 'xfzhang'
			  }
			}
		  }

		  console.log(b1 instanceof Object, b1 instanceof Array) // true  false
		  console.log(b1.b2 instanceof Array, b1.b2 instanceof Object) // true true
		  console.log(b1.b3 instanceof Function, b1.b3 instanceof Object) // true true

		  console.log(typeof b1.b2, '-------') // 'object'

		  console.log(typeof b1.b3==='function') // true

		  console.log(typeof b1.b2[2]==='function')
		  b1.b2[2](4)
		  console.log(b1.b3()())



		  /*var obj = {
			name: 'Tom',
			age: 12
		  }
		  function test () {
			var a = 3
		  }
		  var arr = [3, 'abc']
		  arr[1]*/

		</script>
	</body>
</html>

2.数据类型的基本区分:

<!DOCTYPE html>
<html lang="en">
	<head>
	  <meta charset="UTF-8">
	  <title>01_相关问题</title>
	</head>
	<body>
	<!--
	1. undefined与null的区别?
	  * undefined代表定义未赋值
	  * nulll定义并赋值了, 只是值为null
	2. 什么时候给变量赋值为null呢?
	  * 初始赋值, 表明将要赋值为对象
	  * 结束前, 让对象成为垃圾对象(被垃圾回收器回收)
	3. 严格区别变量类型与数据类型?
	  * 数据的类型
		* 基本类型
		* 对象类型
	  * 变量的类型(变量内存值的类型)
		* 基本类型: 保存就是基本类型的数据
		* 引用类型: 保存的是地址值
	-->

		<script type="text/javascript">

		  // 实例: 实例对象
		  // 类型: 类型对象
		  function Person (name, age) {// 构造函数  类型
			this.name = name
			this.age = age
		  }
		  var p = new Person('tom', 12) // 根据类型创建的实例对象

		  // Person('jack', 12)

		  // 1. undefined与null的区别?
		  var a
		  console.log(a)  // undefined
		  a = null
		  console.log(a) // null

		  //起始
		  var b = null  // 初始赋值为null, 表明将要赋值为对象
		  //确定对象就赋值
		  b = ['atguigu', 12]
		  //最后
		  b = null // 让b指向的对象成为垃圾对象(被垃圾回收器回收)
		  // b = 2

		  var c = function () {

		  }

		  console.log(typeof c) // 'function'

		</script>
	</body>
</html>

猜你喜欢

转载自blog.csdn.net/z_x_Qiang/article/details/82960883