一、前端界面的调试
后端调试有debug,前端调试也有debug,而且还有其他方式进行调试:
- 第一种是console.log();这是前端调试使用最多的方法,也是最好用最推荐的方式;
- 第二种是alert();这种弹窗的调试方式会让程序卡住,还需要对每一个弹窗进行点击操作,麻烦且浪费性能;
- 第三种方法是类似于后台的debug调试;进入开发者模式(F12)以后,点击Source显示源码文件,在js文件需要打断点出单击,当程序运行到此处时即可实现debug调试;
二、数据类型相关
- Number数值类型
js不区分小数和整数,统一为Number类型;
包括整数、浮点数、负数、科学计数法表示的数、NaN(not a number)、Infinity(无限大的一个数);
判断一个数是否是数字:isNaN(NaN); - 字符串类型
可以用单引号或者双引号来表示:‘abc’,“abcd”; - 布尔值
布尔值只有true或者false两个值; - 逻辑运算
逻辑运算包括&&、||、!;&&是两个为真结果为真,||是一个为真结果为真,!是取反运算符,真即假,假即真; - 比较运算符
比较运算符包括=、==、===;=是赋值运算符,==是判断比较运算,只判断值是否相等,数据类型可以不一致,===是绝对等于,即数据类型不一致结果必为false,类型一致才会去判断值是否相等;
NaN === NaN,结果为false,即便自身等于自身来判断,结果也是false; - 数组数值类型
一系列的数据,这些数据不一定是同一种类型的数据,可以是数值、字符串、布尔值混杂在一起的一系列数据;
取数组中的某一值时,如果数组下标越界,并不会出现越界的异常,而是undefined; -
Null类型
Null类型只有一个值:null,专门用来表示一个为空的对象。
使用typeof检查,返回值为Object;
-
Undefined类型
Undefined类型只有一个值:undefined;当声明一个变量,但没有赋值时,即为undefined;
typeof(Undefined) == 》 undefined;
- 对象型数据类型
对象还是用大括号{}进行包裹;每个属性之间使用逗号隔开,最后一个不需要加逗号var person = { name : "zhangsan", age : 23, tags : ['js','java','web','……'] }
字符串类型数据相关
js中定义的字符串是不可变的,即定义完以后,不能修改了;
大小写转换:
var str = "sYhI";
str.toUpperCase();
str.toLowerCase();
截取字符串:
subString(1,6);包含前面不包含后面,从第二个字符到第六个字符;
获去下标:indexOf("t");获取字符t的下标;
数组类型数据相关
数组长度是可变的:arr.length = 10,长度就会变为10,多出来的数据是undefined;如果是长度缩小,元素就会丢失;
截取数组一部分:slice(3,5);包含前面不包含后面;
添加数组元素:push,pop;arr.push('a','b'); arr.pop('a'); push是压入元素,pop是弹出尾部的一个元素; 操作头部元素:unshift()和shift();