码迷,mamicode.com
首页 > 编程语言 > 详细

进来看,让你躺着就把JavaScript学完了(四)

时间:2020-06-23 15:39:28      阅读:71      评论:0      收藏:0      [点我收藏+]

标签:实例化   i++   比较   new   很多   数组元素   组元   表达式2   变化   

JavaScript基础语法4

如果你想成为一名优秀的java架构师,看这里 → 乐字节免费公开课(腾讯课堂)

如需要跟多资料请点击右侧(记住入群暗号:66) → 这是一条不归路,有秃头风险,请慎重选择!

控制语句

? 我们写的 JavaScript 代码都是按照从上到下依次执行,很多时候我们希望代码按照我们的意愿去执行,比如有选择性地执行某些代码,或者重复地执行某些代码,这就需要使用到流程控制语句。

? 流程控制语句一共有三种:

? 1. 流程执行:从上到下,从左到右

? 2. 选择执行:分支选择

? 3. 循环执行:重复执行

选择

单选择
if (条件){
    语句体;
}

? 首先执行条件

? 如果结果为true,则执行语句体;

? 如果结果为false,则结束if语句。

? 注意:若语句体只有一条语句,可以省略大括号,但不建议省略

双选择
if (条件){
    语句体1;
}else {
    语句体2;
}

? 首先执行条件

? 如果结果为true,则执行语句体1;

? 如果结果为false,则执行语句体2。

多选择
if(比较表达式1) {
	语句体1;
}else if(比较表达式2){
	语句体2;
}else if(比较表达式3){
	语句体3;
}
	...
[else {
	语句体n+1;
}]
switch结构

? 多个 if ...else 且值为定值时(即=== 在比较运行结果时,采用的是严格相等运算符(=),而不是相等运算符(),这意味着比较时不会发生类型转换。) ,可以使用 switch 替换:

switch(表达式) {
	case 值1:
		语句体1;
		break;
	case 值2:
		语句体2;
		break;
	...
	default:
		语句体n+1;
		[break;]
}

? break 防止穿透,如果没有 break,则继续执行后面的代码,直到遇到 break 或全部执行完毕,但是有些时候会利用穿透。

循环

? 循环结构用于重复执行某个操作 简单理解就是重复执行同类型的代码,它有多种形式。

while

? 先判断后执行

基本格式
	while(判断条件语句) {
		循环体语句;
	}
			
扩展格式:
	初始化语句;
	while(判断条件语句){
		循环体语句;
		控制条件语句;	//   少了它很容易形成死循环
    }
do...while

? 先执行后判断,至少执行一次

基本格式
	do {
		循环体语句;
	}while(判断条件语句);
	
扩展格式:
	初始化语句;
	do {
		循环体语句;
		控制条件语句;
	} while(判断条件语句);
for
for(初始化语句;判断条件语句;控制条件语句){
	循环体语句;
}
死循环

? 条件永远成立,永远为 true,则会产生死循环,下面是最简单的死循环

while(true){}
for(;;){}
break 与 continue

? break: 停止本层循环

? continue:暂停本次循环,继续下一次

数组

? 数组是按次序排列的一组数据,每个值的位置都有编号(从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));

进来看,让你躺着就把JavaScript学完了(四)

标签:实例化   i++   比较   new   很多   数组元素   组元   表达式2   变化   

原文地址:https://www.cnblogs.com/lezijie/p/13181896.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!