JavaScript数据类型和变量

1. 数据类型

虽然JS里面可以直接写


<script>

a=1;

b="2";

</script>

1

2

3

4

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


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


string 字符串类型

number 数字类型

boolean 布尔类型

object 对象类型 (需要注意的是null是对象类型的空值)

function 函数类型

undefined (未定义,不知道是什么数据类型)

1

2

3

4

5

6

2. undefined和null的区别

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


比如


a=1;

console.log(typeof(a));//number

a=null;

console.log(typeof(a));//object

console.log(typeof(b));//undefined

1

2

3

4

5

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


function test(){

 var x = "123";              

 var y = new String("123");

 console.log(x ==y);// 结果为 true 都是值为"123"的字符串

 console.log(x === y);// 结果为 false,因为 x 是字符串,y 是对象

}

1

2

3

4

5

6

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

}

1

2

3

4

5

6

7

8

9

10

判断相等


===成立,必须typeof的类型相同,值也相同

==仅判断值,如果类型不同会转换类型

1

2

console.log(1==="1");//false

console.log(1=="1");//true

1

2

4. 局部变量和全局变量

规则:

函数内部使用var声明:局部变量

函数外部使用var声明:全局变量

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

1

2

3

4

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

上一篇:【转】Appium日志分析


下一篇:Linux自动磁盘挂载 系统盘爆满解决教程