第六次前端培训(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);
第六次前端培训(JavaScript的基础语法(二))相关推荐
- JS:JavaScript编程语言基础语法总结
JS:JavaScript编程语言基础语法总结 目录 常用基础语法 一.变量 1.声明变量var 二.语句 1.if判断语句 2.for循环语句 三.函数 1.定义一个函数 常用基础语法 consol ...
- 六、前端开发-JavaScript DOM
六.前端开发语言体系-JavaScript DOM 文章目录 六.前端开发语言体系-JavaScript DOM JavaScript DOM DOM简介 DOM方法 DOM事件 DOM事件监听器 D ...
- 第一次前端培训(HTML基础)
1.使用软件: HBuilder 下载链接HBuilderX-高效极客技巧 2.视频链接:[优极限] HTML+CSS+JavaScript+jQuery前端必学教程,小白教学,前端基础全套完成版_哔 ...
- 第五次网页前端培训(JS基础)
1:JS基本用法 行内JS:写在标签内部的js代码:内部JS:定义在script标签内部的js代码,script标签可以放在head中或body中(建议放在body标签最后):外部JS:单独的js文件 ...
- JavaScript(1)——基础语法部分(CSDN)
前言:本篇文章原文为我在语雀上的学习笔记Javascript(1)--基础语法部分 web 发展史 Mosaic,是互联网历史上第一个获普遍使用和能够显示图片的网页浏览器.于 1993年问世. 199 ...
- JavaScript 设计模式基础(二)
JavaScript 设计模式基础(一) 原型模式 在以类为中心的面向对象编程语言中,类和对象的关系就像铸模和铸件的关系,对象总是从类中创建.而原型编程中,类不是必须的,对象未必从类中创建而来,可以拷 ...
- 前端三刺客---JS(基础语法)
文章目录 JS初识 JavaScript和HTML和CSS的关系 JavaScript代码运行过程 JavaScript的组成 JS 第一个Hello World JavaScript的书写格式 JS ...
- 前端~html~HTML零基础(二) ~HTML常见标签补充/实战案例:个人简历网页展示/填写
文章目录 回顾复习 超链接标签a(补充) 表格标签 列表标签 表单标签 label标签 select标签 textarea标签 无语义标签 div&& span 实战案例 个人简历网页 ...
- Python 基础语法(二)
2. 元组 tuple和list十分相似,但是tuple是不可变的,即不能修改tuple,元组通过圆括号中用逗号分割的项定义:支持索引和切片操作:可以使用 in 查看一个元素是否在tuple中.空元组 ...
最新文章
- Python 技术篇-打开指定文件夹、目录、路径方法,运行指定文件演示
- Citrix_XenServer-6.1安装过程详解(转)
- python箱线图读取的几列数据_【分析篇】:python 基本数据统计和绘制箱线图
- python支持list类型吗_Python Numpy不支持的操作数类型“list”“list”
- 请对比html与css的异同,css3与css2的区别是什么?
- 视觉SLAM笔记(37) 求解 PnP
- [AHOI2006]Editor文本编辑器Splay Pascal
- 欢迎进入测试day01作业
- 按住滑块 拖拽验证html5,【原生】JavaScript 实现滑动拖动验证
- web功能测试工具_Web辅助功能:工具和注意事项
- idea debug collecting 卡死
- 《三体》与Taylor展开式的无限遐想
- win7系统备份还原软件_比ghost快200%!备份还原系统真正首选的神器
- jQuery TagsInput
- Debian 6(Squeeze)升级至Debian 7(Wheezy)
- 第1131期AI100_机器学习日报(2017-10-23)
- Spring Security登录用户数据获取(4)
- STFT短时傅里叶变换的实现
- Adobe 安装程序无法初始化,请下载Adobe Support Advisor检测该问题
- 第三周铁人战队学习总结