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中的规定关键字:

breakcasecatchclassconstcontinue
debuggerdefaultdeletedoelseexport
extendsfalsefinallyforfunctionif
importininstanceofnewnullreturn
superswitchthisthrowtrytrue
typeofvarvoidwhilewithyield
除此之外还有一些未来保留的关键字:
abstractargumentsawaitbytebooleanchar
doubleenumevalfinalfloatgoto
implementsintinterfaceletlongnative
packageprivateprotectedpublicshortstatic
synchronizedthrowstransientvolatile
未来保留的关键字不推荐使用。

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()
纯数字字符串转成对应的数字转成对应的数字转成对应的数字
空字符串0NaNNaN
数字开头的字符串NaN转成开头的数字转成开头的数字
非数字开头的字符串NaNNaNNaN
null0NaNNaN
undefinedNaNNaNNaN
false0NaNNaN
true1NaNNaN
(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)访问数组元素:若想要查看数组中某个具体的元素,可以通过“数组名[下标]”的方式获得指定的值。

<script>
var arr=['hello','JavaScript',22.48,true];
console.log(arr[0]);
console.log(arr[2]);
console.log(arr);
</script>

(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)冒泡排序:
在这里插入图片描述

<script>
var arr=[10,2,5,27,98,31];
console.log('待排序数组:'+arr);
for(i=;i<arr.length;i++){
for(j=0;j<arr.length-i;j++){
if(arr[j]>arr[j+1]){
[arr[j],arr[j+1]]=[arr[j+1],arr[j]];
}
}
}
console.log('排序后的数组:'+arr);
</script>

(2)插入排序:在这里插入图片描述

<script>
var arr=[89.56,100,21,87,45,1,888];
console.log('待排序数组:'+arr);
for(var i=1;i<arr.length;i++){
for(var j=i;j>0;j--){
if(arr[j-1]>arr[j]){
[arr[j-1],arr[j]]=[arr[j],arr[j-1]];
}
}
}
console.log('排序后的数组' +arr);
</script>

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() 返回一个合并两个或多个数组后的新素组
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值