今天是我在乐字节学习的第17天

137 篇文章 0 订阅

今天是我在乐字节教育学习的第17天,今天主要学习的内容是JavaScript基础语法之数组和函数

数组

​ 数组是按次序排列的一组数据,每个值的位置都有编号(从0开始),整个数组用方括号表示。

数组定义

​ JS 中定义数组的三种方式如下(也可先声明再赋值):

var arr = [1,2,3];  // 隐式创建

var arr = new Array(1,2,3); // 直接实例化

var arr = new Array(size); // 创建数组并指定长度
基本操作

​ 数组的长度可以通过length属性来获取,并可以任意更改

数组名.length
数组名.length = 新长度 

​ 数组中的每一个元素都可以被访问和修改,甚至是不存在的元素,无所谓越界

数组名[下标]
数组名[下标] = 新值
数组遍历

​ 数组的遍历即依次访问数组的每一个元素 ,JS提供三种遍历数组的方式:

普通的for循环遍历
for(var i=0; i<=数组.length-1; i++){
    
}
如:
for(var idx=0;idx<arr.length;idx++){
    console.log(arr[idx]);
}
for … in
for(var 下标(名称任意) in 数组名){ 
	数组名[下标]是获取元素
} // 下标(名称任意)
如:
for(var idx in arr){
    console.log(arr[idx]);
}
forEach
数组名.forEach(function(element,index){
    // element(名称任意):元素,index(名称任意):下标
})    
如:
arr.forEach(function(elem,idx){
    console.log(idx + "-->" + elem);
});
了解
数组在使用的时候建议大家规矩来用。在存放数据时,从下标0开始顺序的存放数组元素。
如果下标:
	1.为非负整数(包括整数字符串):自动从0开始,不存在添加 undefined
	2.为负数、小数、非数字符串:这些内容不计算在长度内,当成"属性"处理,相当于自定义属性。

数组非常灵活,使用数组元素
	1.下标: 非负整数(包括整数字符串): 
		数组.下标
		数组[下标]
	2.下标:负数、小数、非数字字符串:
    	数组[属性]

* for --> 不遍历属性
* foreach -->不遍历属性和索引中的undefined
* for in -->不遍历索引中的undefined
数组提供的操作方法

​ Array对象为我们提供了一些方法,可以很方便地操作数组

push          添加元素到最后 
unshift       添加元素到最前 
pop           删除最后一项 
shift         删除第一项 
reverse       数组翻转 
join          数组转成字符串 
indexOf       数组元素索引 
slice         截取(切片)数组,原数组不发生变化 
splice        剪接数组,原数组变化,可以实现前后删除效果 
concat        数组合并
var arr = ['1','a',5,'3'];
console.log(arr);
arr.push(10);
console.log(arr);
arr.unshift('b');
console.log(arr);
arr.pop();
console.log(arr);
arr.shift();
console.log(arr);
arr.reverse();
console.log(arr);
console.log(arr.join('\''));
console.log(arr);
console.log(arr.indexOf('a'));
console.log(arr.slice(2,5));
console.log(arr);
arr.splice(1,1,'一','二');
console.log(arr);
var arr1 = [0,'100'];
console.log(arr.concat(arr1));
console.log(arr);
console.log(arr1);
console.log(arr1.(arr));

函数

​ 函数,即方法。就是一段预先设置的功能代码块,可以反复调用,根据输入参数的不同,返回不同的值。函数也是对象。

函数的定义

​ 有三种函数定义的方式:函数声明语句、函数定义表达式、Function构造函数

函数声明语句
function 函数名([参数列表]){
    
}
例如:
function foo(){ 
    console.log(1);
} 
foo(); 

​ 该种方式定义的函数具有声明提升的效果

foo();   
function foo(){ 
        console.log(1);
} 
// 变量声明提升
console.log( a );  
var a = 2;
函数定义表达式

​ 以表达式方式定义的函数,函数的名称是可以不需要的

var 变量名 = function ([参数列表]) {
    
}
变量名();
例如:
var fun = function(){
    console.log("Hello");
}
fun();

​ 这种写法将一个匿名函数赋值给变量。这时,这个匿名函数又称函数表达式,因为赋值语句的等号右侧只能放表达式。

Function构造函数

​ Function构造函数接收任意数量的参数,但最后一个参数始终都被看成是函数体,而前面的参数则列举出了新函数的参数。

var add = new Function('x','y','return (x + y)');
// 等同于
function add(x, y) {
    return (x + y);
}
add();

注意:

1. js中的函数没有重载,同名的函数,会被后面的函数覆盖。
2. js中允许有不定数目的参数,后面介绍arguments对象

时间过得真快,今天的学习时间已经接近了尾声,今晚好好睡觉休息,准备好明天的学习吧!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值