第六次前端培训(JavaScript的基础语法(二))

3.6 运算符

算数运算符、递增和递减运算符、比较运算符、逻辑运算符、赋值运算符

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.7 控制语句

3.8 数组

3.8.1.数组定义

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

var arr =[值1,值2,值3];//隐式创建
var arr = new Array(值1,值2,值3);//直接实例化
var arr = new Array (size); //创建数组并指定长度
3.8.2.基本操作

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

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

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

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

3.8.3 数组的遍历

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

for(var i=0; i<=数组.length-1 ; i++){

}
如:
for ( var idx=0 ; idx<arr. length ; idx++){
	console . log(arr [idx ] );
}

2. for … in

for(var 下标(名称任意) in 数组名){
	数组名[下标]是获取元素
}//下标(名称任意)
如:
for( var idx in arr){
	console.log( arr [ idx] );
}

3.forEach

数组名.forEach(function(element , index){
	// element(名称任意):元素,index(名称任意):下标
} )
如:
arr.forEach( function( elem, idx){
	console.log(idx + "-->" + elem) ;
}  )

4.了解
数组在使用的时候建议大家规矩来用。在存放数据时,从下标0开始顺序的存放数组元素。如果下标:
1.为非负整数(包括整数字符串):自动从0开始,不存在添加undefined
2.为负数、小数、非数字符串:这些内容不计算在长度内,当成"属性"处理,相当于自定义属性。
数组非常灵活,使用数组元素
1.下标:非负整数(包括整数字符串)∶
数组.下标
数组[下标]
2.下标:负数、小数、非数字字符串:
数组[属性]

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

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

函数名作用
push添加元素到最后
unshift添加元素到最前
pop删除最后一项
shift删除第一项
reverse数组翻转
join数组转成字符串
index0f数组元素索引
slice截取(切片)数组,原数组不发生变化
splice剪接数组,原数组变化,可以实现前后删除效果
concat数组合并

3.9 函数

3.9.1 函数的定义

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

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

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

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

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

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

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

3.9.1.3 Function构造函数

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

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

注意:
· JS 中的函数没有重载,同名的函数,会被后面的函数覆盖。
· JS 中允许有不定数目的参数。

3.9.2 函数的参数

函数运行的时候,有时需要提供外部数据,不同的外部数据会得到不同的结果,这种外部数据就叫参数
定义时的参数称为形参,调用时的参数称为实参
··实参可以省略,那么对应形参为undefined。
··若函数形参同名(一般不会这么干),在使用时以最后一个值为准。
··可以给参数默认值:当参数为特殊值时,可以赋予默认值。
··参数为值传递,传递副本;引用传递时传递地址,操作的是同一个对象。

3.9.3 函数的调用

1.常用调用方式
函数名([实参]);
存在返回值可以变量接收,若接收无返回值函数则为undefined。
2.函数调用模式

function add ( a, b){
	return a+b;
}
var sum = add( 1,2)
console . log ( sum);

3.方法调用模式

var o = {
	m : function( ){
		console . log ( 1);
	}
};
o.m( );
3.9.4 return

函数的执行可能会有返回值,需要使用return语句将结果返回。return语句不是必需的,如果没有的话
该函数就不返回任何值,或者说返回undefined。
作用:
1.在没有返回值的方法中,用来结束方法。
2.有返回值的方法中,一个是用来结束方法,一个是将值带给调用者。

3.9.5 函数的作用域

函数作用域:全局(global variable)和局部(local variable)
1.全局变量与局部变量同名问题

var box =1; //全局变量
function display( box){
	var box = 3; //此处box与全局变量box没有关系,这里的box为传递的参数,相当于新声明的局部变量
	var b = 2; //局部变量
	console.log( " box-->" + box) ;
	}
display();
// b不能访问
console. log( " b-->" + b);

2.在函数中定义变量时,若没有加var关键字,使用之后自动变为全局变量

function fun( ){
	a = 100 ;
}
fun( );
alert(a);
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值