JavaScript数据类型和变量

1. 数据类型

虽然JS里面可以直接写

<script>
a=1;
b="2";
</script>

但是实际上js的所有变量/常量都是有类型的。

JS所有的数据类型分为5类

string 字符串类型
number 数字类型
boolean 布尔类型
object 对象类型 (需要注意的是null是对象类型的空值)
function 函数类型
undefined (未定义,不知道是什么数据类型)

2. undefined和null的区别

null是有类型的,只是没有值(值为空),而undefined直接连类型都没有(类型为未定义类型)

比如

a=1;
console.log(typeof(a));//number
a=null;
console.log(typeof(a));//object
console.log(typeof(b));//undefined

从上面也可以看出,其实JS中一切都是对象哦,再举一个神奇的例子,

	function test(){
		var x = "123";              
		var y = new String("123");
		console.log(x ==y);// 结果为 true 都是值为"123"的字符串
		console.log(x === y);// 结果为 false,因为 x 是字符串,y 是对象
	}

3. typeof判断类型

typeof函数可以返回对象的类型:

function test(){
		console.log(typeof("123"));// 返回 string 
		console.log(typeof(123));// 返回 number 
		console.log(typeof(true));// 返回 boolean 
		console.log(typeof([1,2,3]));// 返回 object 
		console.log(typeof({name:"maoge"}));// 返回 object 
		console.log(typeof(function(){}));// 返回 function 
		console.log(typeof(x));// 返回 undefined 
		console.log(typeof(null));// 返回 object 
	}

判断相等

===成立,必须typeof的类型相同,值也相同
==仅判断值,如果类型不同会转换类型
console.log(1==="1");//false
console.log(1=="1");//true

4. 局部变量和全局变量

规则:
函数内部使用var声明:局部变量
函数外部使用var声明:全局变量
未使用var声明:全局变量(无论是否在函数内部)

还是建议统一先用var声明了再使用!


如有问题请扫码联系我
在这里插入图片描述

已标记关键词 清除标记
©️2020 CSDN 皮肤主题: 代码科技 设计师:Amelia_0503 返回首页