JavaScript学习整理(一)

一.JavaScript的基本语法:
1.标识符:
(1).由大小写字母、数字、下划线和美元符号($)组成,如str、arr3、get_name、&a。
(2).不能以数字开头,如56name是非法标识符。
(3).严格区分大小写,如it与IT表示两个不同的标识符。
(4).不能使用JavaScript中的关键字命名,如var作为变量名是不合法的。
(5).要尽量做到“见其名知其意”,如name表示名称,age表示年龄等。
值得一提的是当标识符中需要多个单词进行表示时,常见的表示方法有下划线标识法(如user_name)、
驼峰法(userName)和帕斯卡法(UserName)。
2.保留关键字
下面举例ES5中的规定关键字:

break case catch class const continue
debugger default delete do else export
extends false finally for function if
import in instanceof new null return
super switch this throw try true
typeof var void while with yield
除此之外还有一些未来保留的关键字:
abstract arguments await byte boolean char
double enum eval final float goto
implements int interface let long native
package private protected public short static
synchronized throws transient volatile
未来保留的关键字不推荐使用。

3.变量的使用
变量可以看作是存储数据的容器,通常使用var关键字声明,并且变量名的命名规则与标识符相同。

var sales;
var hits,hot,NEWS;
var room_101,room102;
var $name,$age;

上述代码中,利用var声明,但未赋初始值的变量默认值会被设定为undefined。其中,行末的分号表示语句结束,变量与变量之间的运算符是JavaScript中的逗号,实现一条语句可以同时完成多个变量的声明。

4.变量的赋值
声明完成后就可以为变量赋值,也可以在声明变量的同时为变量赋值。具体示例:

var unit room;
unit=3;
room=1001;
var fname='Tom',age=12;

除了上述方法也可以省略var直接赋值:

flag=false;
a=1,b=2;

由于JavaScript是采用动态编译的所以不推荐第二中

5.基本数据类型:
(1)布尔类型:只有true和false两个值
(2)数值型:包含整数和浮点数
(3)字符型:字符串必须使用双引号或单引号括起来
(4)空型:用于表明某个变量的值为空(赋了值,但是值为null)
(5)未定义型:专门用来确定一个已经创建但没有初值的变量
数据类型转换:
(1)转布尔型:常见的类型转换,经常用于表达式和流程控制语句中,如数据的比较、判断。Boolean()函数可以对用户输入的任何内容进行布尔类型的转换。除此之外,Boolean()函数将任何非空字符串和非零的数值转换为true将空字符串、0,NaN、underfined和null转化为false。
(2)转数值型:通过Number()函数、parseInt()函数或parseFloat()函数对参与运算的数据进行转换,保证数据都是数值型数据。值得一提的是,转数值型的函数在使用时有一定的区别:

待转数据 Number() parseInt() praseFloat()
纯数字字符串 转成对应的数字 转成对应的数字 转成对应的数字
空字符串 0 NaN NaN
数字开头的字符串 NaN 转成开头的数字 转成开头的数字
非数字开头的字符串 NaN NaN NaN
null 0 NaN NaN
undefined NaN NaN NaN
false 0 NaN NaN
true 1 NaN NaN
(3)转字符型:通过String()函数和toString()方法进行转换,他们的区别是前者可以将任意类型转换为字符型,后者出来null和undefind没有toString()方法,其他都可以转换

二.流程控制
1.选择结构
(1)单分支语句

if(age >= 18){
console.log('已成年');
}

(2)双分支语句

if(age >= 18){
console.log('已成年');
}else{
console,log('未成年');
}

(3)多分支语句

if(score >= 90){
console.log('优秀');
}else if(score >= 80){
console.log('良好');
}else if(score >= 70 ){
console.log('中等');
}else if(score <=60){
console.log('及格');
}else {
console.log('不及格');
}

2.循环结构
(1)while语句

var num=1;
while(num <= 100){
console.log(num);
num++;
}

(2)do while循环语句

var num=5;
do{
console.log(num);
num--;
}while(num > 3);

(3)for循环语句

for(var i=0;i<5;i++){
console.log('*');
}

3.跳转语句
常用的跳转语句有break和continue语句。
break语句可应用于switch语句和循环语句中,作用是终止当前语句的执行,跳出switch选择结构或循环结构,执行后面的代码,而continue语句用于结束本次循环的执行,开始下一轮循环的执行操作。

三.数组
1.数组的创建

    var arr1=[2,5,6];      //定义时直接给数组元素赋值

    var arr2=[];           //定义一个空数组

    var arr3=new Array();  //定义一个空数组并通过索引来赋值
    arr3[0]=1;
    arr3[3]="abc";

2.数组的基本操作
(1)获取数组的长度:

var arr1=[78,88,98];
var arr2=['a', , , ,'b','c'];
console.log(arr1.length);//输出结果为3
console.log(arr2.length);//输出结果为6

3.数组的访问与遍历
(1)访问数组元素:若想要查看数组中某个具体的元素,可以通过“数组名[下标]”的方式获得指定的值。


(2)遍历数组元素:通常情况下,利用下标遍历数组可以使用for或for…in语句。

for(variable in object){...}

上述语法中,for…in中的variable指的是数组下标,object表示数组的变量名称,除此之外,object还是一个对象,for…in还可以用于对象的遍历。
在ES6中,新增了一种for…of方法:

var arr=[1,2,3];
for(var value of arr){
console,log(value);
}

在上述代码中,变量value表示每次遍历时对应的数组元素的值,arr表示待变历的数组,代码执行后,可以在控制台中一次输出1,2和3.

4.元素的添加和修改
(1)添加元素

var height=[];
hright[5] =183;
height[0] =175;
height[3] =150;
console.log(height);//输出结果:(6) [175,empty*2,150,empty,183]
//为非空数组添加元素
var arr=['Asa','Taylor'];
arr[2] ='Tom';
arr[3] ='Jack'; //输出结果:(4) ["Asa","Taylor","Tom","Jack"]
console.log(arr);

(2)修改元素:修改i元素与添加元素的方式相同,不同的是修改元素是为已含有值的元素重新赋值。

var arr=['a','b','c','d'];
arr[2]=123;
arr[3]=456;
console.log(arr);//输出结果:(4) ["a","b",123,456]

(3)元素的删除:可以用delete关键字删除该元素的值

var stu =['Tom','Jimmy','Luck'];
console.log(stu);//输出结果:(3) ["Tom","Jimmy","Luck"]
delete stu[1];//删除第二个元素
console.log(stu);//输出结果:(3) ["Tom","Luck"]

由上述代码可知,delete关键字只能删除数组中制定下标的元素值,删除后该元素依然会占用一个空的存储位置。

3.常见二维数组操作
(1)创建与遍历

//使用Array对象创建数组
var info =new Array(new Array('Tom',13,155),new Array('Luck'.11,152));
var arr= new Array(new Array,new Array);
//使用“[]”创建数组
var num=[[1,3],[2,4]];
var empty =[[],[]];

4.数组排序
(1)冒泡排序:
JavaScript学习整理(一)_第1张图片


(2)插入排序:JavaScript学习整理(一)_第2张图片


5.常见的数组方法
(1)栈和队列方法:

方法名 功能描述
push() 将一个或多个元素添加到数组的末尾,并返回数组的新长度
unshift() 将一个或多个元素添加到数组的开头,并返回数组的新长度
pop() 从数组的末尾移除并返回一个元素,若是空数组则返回undefined
shift() 从数组的开头移出并返回一个元素,若是空数组则返回undefined
(2)检索方法
方法名 功能描述
includes() 用于确定数组中是否含有某个元素,含有返回true,否则返回false
Array.isArray() 用于确定传递的值是否为一个Array,是返回true,否则返回false
IndexOf() 返回在数组中可以找到给定值的第一个索引,如果不存在,则返回-1
lastIndexOf() 返回指定元素在数组中的最后一个索引,如果不存在则返回-1
(3)数组转字符串
方法名 功能描述
join() 将数组中的所有元素连接到一个字符串中
toString() 返回一个字符串,表示指定的数组及其元素
(4)其他方法
方法名 功能描述
sort() 对数组的元素进行排序,并返回数组
fill() 用一个固定值填充数组中指定下标范围的全部元素
reverse() 颠倒数组中元素的位置
splice() 对一个数组在指定下标范围内删除或添加元素
slice() 从一个数组的指定下表范围内拷贝数组元素到一个新数组中
concat() 返回一个合并两个或多个数组后的新素组

你可能感兴趣的:(学习笔记)