JavaScript系列之基础篇
Posted coderkey
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JavaScript系列之基础篇相关的知识,希望对你有一定的参考价值。
七,数组导读
1,什么是数组
1.1,数组的概念
(1)含义:
数组是指一组数据的集合,其中的每个数据被称之为元素,在数组中可以存放任意类型的元素。数组是一种将一组数据储存在单个变量名下的优雅方式。
2,数组的创建方式
2.1,利用 new 创建数组
(1)语法:
var 数组名 = new Array( );
var arr = new Array( ); //创建一个新的空数组
2.2,利用数组字面量创建数组 [ ]
(1)语法:
1,使用数组字面量方式创建空的数组。
var 数组名 = [ ];
2,使用数组字面量方式创建带初始化值的数组。
var 数组名 = ['小白' , 666,true,'小兰'];
(2)注意:
数组里面的数据一定用逗号分隔。数组里面的数据称之为数组元素。
3,获取数组元素
3.1,数组的索引
(1)含义:
索引(下标):用来访问数组元素的序号(数组下标从0开始)。
(2)语法:
数组名[索引号]
(3)例如:
//定义数组
var arrNum = [1, 2, 3];
//获取数组中的第n个元素
console.log(arrNum[0]); // 1
console.log(arrNum[1]); // 2
console.log(arrNum[2]); // 3
4,遍历数组
4.1,数组的遍历
(1)含义:
就是把数组中的每个元素从头到尾都访问一次。
(2)例如:
var arr = ['a', 'b', 'c'];
for (var i = 0; i < 3; i++) {
console.log(arr[i]); //'a' 'b' 'c'
}
4.2,获取数组元素的个数
(1)语法:
数组名.length
(2)例如:
var arr = ['a', 'b', 'c'];
for (var i = 0; i < arr.length; i++) {
console.log(arr[i]); //'a' 'b' 'c'
}
5,数组中新增元素
5.1,通过修改 length 长度新增数组元素
(1)含义:
可以通过修改length
长度来实现数组扩容的目的。
(2)方法:
var arr = ['a', 'b', 'c'];
console.log(arr.length); //‘a' 'b' 'c'
arr.length = 5; //把数组的长度修改为了5,此时里面有5个元素。
console.log(arr); //‘a' 'b' 'c' empty*2
console.log(arr[3]); //undefined
console.log(arr[4]); //undefined
(3)注意:
索引号3,4只声明没有给值,默认值就是
undefined
5.2,通过修改数组索引号新增数组元素
(1)含义:
可以通过修改数组索引号的方式追加数组元素。
(2)方法:
var arr = ['a', 'b', 'c'];
arr[3] = 'd';
console.log(arr); //‘a' 'b' 'c' 'd'
arr[0] = 'q'; //这里替代原来的数组元素
console.log(arr); //‘q' 'b' 'c' 'd'
八,函数导读
1,函数的概念
1.1,为什么需要函数
(1)含义:
在jS里面,可能会定义非常多的相同代码或者功能相似的代码,这些代码可能需要大量重复使用。虽然for循环语句也能实现一些简单的重复操作,但是比较具有局限性,此时我们就可以使用JS中的函数。
函数:就是封装了一段可被重要调用执行的代码块。通过此代码块可以实现大量代码的重复使用。
2,函数的使用
2.1,声明函数
(1)语法:
function 函数名( ) {
//函数体
}
2.2,调用函数
(1)语法:
函数名( );
(2)注意:
声明函数本身并不会执行代码,只有调用函数时才会执行函数体代码。
(3)例如:
//声明函数
function getSum( ) {
var sum = 0;
for (var i = 1; i <= 100; i++) {
sum += i;
}
console.log(sum);
}
//调用函数
getSum( ); //5050
3,函数的参数
3.1,形参和实参
(1)含义:
在声明函数的时,可以传递的参数称之为形参,而在调用函数时,传递的参数称之为实参。
(2)语法:
//声明函数
function 函数名(形参1,形参2…) {
//函数体
}
//调用函数
函数名(实参1,实参2…);
(3)例如:
function getSum(sum) {
console.log(sum); // 2
}
getSum(2);
(4)注意:
1,实参个数等于形参个数,输出正确结果。
2,实参个数多于形参个数,只取到形参的个数。
3,实参个数少于形参个数,多的形参定义为undefined
,最终结果为NaN
4,在js中,形参的默认值是undefined
。
4,函数的返回值 return
4.1,return 语句
(1)语法:
function 函数名( ) {
return 需要返回的结果;
}
函数名( );//调用函数
(2)例如:
//1,利用函数,求两个数的最大值
function getMax(num1,num2) {
return num1 > num2 ? num1 : num2;
}
var a = getMax(1, 3);
console.log(a); // 3
var b = getMax(11, 3);
console.log(b); // 11
//2,利用函数,求数组中的最大数值
function getArrMax(arr) {
var max = arr[0];
for (var i = 1; i <= arr.length; i++) {
if (arr[i] > max) {
max = arr[i];
}
}
return max;
}
var re = getArrMax([5, 2, 99, 101, 67, 77]);
console.log(re); // 101
(3)注意:
1,最终结果需要
return
返回给函数调用者。
2,return 只能返回一个值。如果用逗号隔开多个值,以最后一个值为准。
3,如果函数有return,则返回return
后面的值,如果函数没有return
,则返回undefined
。
4,return
后面的代码不会被执行的。
5,arguments的使用
5.1,arguments 对象
(1)含义:
当形参不确定有多少个实参传递的时候,可以用arguments
来获取,在javascript
中, arguments
实际上它是当前函数的一个内置对象,所有函数都内置了一个arguments
对象, arguments
对象中存储了传递的所有实参。
(2)例如:
function fn( ) {
console.log(arguments); //里面存储了所有传递过来的实参 得到伪数组 [1, 2, 3]
console.log(arguments.length); // 3
console.log(arguments[2]); //3
for(var i = 0; i < arguments.length; i++) {
console.log(arguments[i]); //1 2 3
}
}
fn(1, 2, 3);
//利用函数求任意个数的最大值
function getMax( ) { //arguments = [1, 2, 3]
var max = arguments[0];
for (var i = 1; i < arguments.length; i++) {
if (arguments[i] > max) {
max = arguments[i];
}
}
return max;
}
console.log(getMax(1, 2, 3)); // 3
console.log(getMax(1, 2, 3, 4, 5)); // 5
console.log(getMax(11, 2, 34, 444, 5, 100)); //444
5.2,函数可以调用另一个函数
(1)含义:
因为每个函数都是独立的代码块,用于完成特殊任务,因此经常会用到函数相互调用的情况。
(2)例如:
function fn1( ) {
console.log(111);
fn2( );
console.log('fn1');
}
function fn2( ) {
console.log(222);
console.log('fn2');
}
fn1( );
//结果为111 222 fn2 fn1
5.3,函数的两种声明方式
(1)语法:
1,利用函数关键字定义函数(命名函数)
function 函数名( ) {
//函数体
}
函数名( );
2,函数表达式(匿名函数)
var 变量名 = function( ) { };
(2)例如:
var fun = function( ) {
console.log('我是函数表达式');
}
fun( );
(3)注意:
1,
fun
是变量名,不是函数名。
2,函数表达式里面存的是函数。
3,函数表达式也可以进行传递参数。
以上是关于JavaScript系列之基础篇的主要内容,如果未能解决你的问题,请参考以下文章