JavaScript入门-学习笔记(二)
关于js变量
- 变量,就是一个用来存储数据的容器
- 一般来说,我们的变量都是可以得先声明,再使用,就像是一个东西先必须存在,才能看得见摸得着。然而在js里(es5),可以先使用,后声明。
a = 100; var b =200; console.log(a,b) var a; 输出结果为:100,200
ps:这样的语法在es5里是能够执行的,虽然它不符合我们的逻辑思维。在js里叫做,变量提升。
- 如果在声明变量时,没有赋值,直接打印不会报错,因为它有一个默认的值,undefined,表示未定义的值。
- 变量的类型:js是一种弱语言,变量声明时,它的数据类型不明确,只有在赋值的那一刻,变量的数据类型才确定。
- 变量的重复定义:
var a = 3 var a = a-1; console.log(a) //输出结果为2
像这样的语法在Java,c等中,绝对报错,但是在es5中,叫做重复定义。这个逻辑也不符合正常,就好比出生,都是出生一次,没有说有出生两次三次的说法,因此这上面的几个不太符合逻辑的特点,我们知道就行,尽量避开就行。
JavaScript中的7种数据类型
口诀: 3 2 2
三种基本数据类型
- number 数字类型。不区分小数,整数,浮点数,只要是个数,都归类为number类型。
(ps:NaN表示非数字类型,就是除了数字意外的,叫做非数字,他是number的一个属性) - string 字符类型。这个不用多解释,var str = '';'和"都可以
ps:建议不要使用new String('xxxx'),因为这个影响执行速度 - Boolean 布尔类型 。 只有两个值,true/false,非真即假
两个引用数据类型
- Object 对象类型。
//1. 直接用{}创建对象 var obj = {name:'rainbow',age=20,run : function(){ console.log('i love runnning'); }}; //2. 用new关键字实例化一个对象 var obj2 = new Object(); obj2.name = 'rainbow'; obj2.age = 20; obj.say = function(){ console.log('hello world') }
- Array 数组类型
//1. 直接用[]创建 var arr = [];//空数组 //2. new var arr2= new Array();
ps:注意的是,js可以不用给数组一个初始长度,并且这个长度可读可写,但是不建议写,因为可能导致数据丢失
两种特殊数据类型
- undefined
未定义的数据类型 - null
值为null
typeof关键字
typeof就是用来检测一个变量的数据类型使用方法:typeof 变量名(或者常量名)
赋值运算符
自增自减:a++,++a,a--,--a;
ps:++a 和 a++的区别:
如果单单是一条语句而言,两者并没有什么区别,就仅仅是一条语句而已,执行后,自己都加了1,但是在有赋值和其他复杂的运算时,就有区别了;
e.g. var a = 8; ++a; var b = a++; var c = --b; console.log(a,b,c); //输出结果为a,b,c为10,8,8
b = ++a; 先自增,后赋值b = a++; 先赋值,后自增
比较运算符
- ASCII的比较
d > f false
a > 2 false
查阅ASCII表,记住几个常用的AS.........
0条评论