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的基础语法(二))相关推荐

  1. JS:JavaScript编程语言基础语法总结

    JS:JavaScript编程语言基础语法总结 目录 常用基础语法 一.变量 1.声明变量var 二.语句 1.if判断语句 2.for循环语句 三.函数 1.定义一个函数 常用基础语法 consol ...

  2. 六、前端开发-JavaScript DOM

    六.前端开发语言体系-JavaScript DOM 文章目录 六.前端开发语言体系-JavaScript DOM JavaScript DOM DOM简介 DOM方法 DOM事件 DOM事件监听器 D ...

  3. 第一次前端培训(HTML基础)

    1.使用软件: HBuilder 下载链接HBuilderX-高效极客技巧 2.视频链接:[优极限] HTML+CSS+JavaScript+jQuery前端必学教程,小白教学,前端基础全套完成版_哔 ...

  4. 第五次网页前端培训(JS基础)

    1:JS基本用法 行内JS:写在标签内部的js代码:内部JS:定义在script标签内部的js代码,script标签可以放在head中或body中(建议放在body标签最后):外部JS:单独的js文件 ...

  5. JavaScript(1)——基础语法部分(CSDN)

    前言:本篇文章原文为我在语雀上的学习笔记Javascript(1)--基础语法部分 web 发展史 Mosaic,是互联网历史上第一个获普遍使用和能够显示图片的网页浏览器.于 1993年问世. 199 ...

  6. JavaScript 设计模式基础(二)

    JavaScript 设计模式基础(一) 原型模式 在以类为中心的面向对象编程语言中,类和对象的关系就像铸模和铸件的关系,对象总是从类中创建.而原型编程中,类不是必须的,对象未必从类中创建而来,可以拷 ...

  7. 前端三刺客---JS(基础语法)

    文章目录 JS初识 JavaScript和HTML和CSS的关系 JavaScript代码运行过程 JavaScript的组成 JS 第一个Hello World JavaScript的书写格式 JS ...

  8. 前端~html~HTML零基础(二) ~HTML常见标签补充/实战案例:个人简历网页展示/填写

    文章目录 回顾复习 超链接标签a(补充) 表格标签 列表标签 表单标签 label标签 select标签 textarea标签 无语义标签 div&& span 实战案例 个人简历网页 ...

  9. Python 基础语法(二)

    2. 元组 tuple和list十分相似,但是tuple是不可变的,即不能修改tuple,元组通过圆括号中用逗号分割的项定义:支持索引和切片操作:可以使用 in 查看一个元素是否在tuple中.空元组 ...

最新文章

  1. Python 技术篇-打开指定文件夹、目录、路径方法,运行指定文件演示
  2. Citrix_XenServer-6.1安装过程详解(转)
  3. python箱线图读取的几列数据_【分析篇】:python 基本数据统计和绘制箱线图
  4. python支持list类型吗_Python Numpy不支持的操作数类型“list”“list”
  5. 请对比html与css的异同,css3与css2的区别是什么?
  6. 视觉SLAM笔记(37) 求解 PnP
  7. [AHOI2006]Editor文本编辑器Splay Pascal
  8. 欢迎进入测试day01作业
  9. 按住滑块 拖拽验证html5,【原生】JavaScript 实现滑动拖动验证
  10. web功能测试工具_Web辅助功能:工具和注意事项
  11. idea debug collecting 卡死
  12. 《三体》与Taylor展开式的无限遐想
  13. win7系统备份还原软件_比ghost快200%!备份还原系统真正首选的神器
  14. jQuery TagsInput
  15. Debian 6(Squeeze)升级至Debian 7(Wheezy)
  16. 第1131期AI100_机器学习日报(2017-10-23)
  17. Spring Security登录用户数据获取(4)
  18. STFT短时傅里叶变换的实现
  19. Adobe 安装程序无法初始化,请下载Adobe Support Advisor检测该问题
  20. 第三周铁人战队学习总结

热门文章

  1. 268. Missing Number(缺失数字)
  2. HDFS名字空间(NameSpace)
  3. 上海育才高中2021高考成绩查询,育才中学2018高考成绩
  4. rosalind练习题
  5. Webpack 究竟是什么?如何理解Webpack
  6. 民航大学推出订单式培养空姐 恋爱学系必修课程
  7. 百度地图添加地区覆盖物和坐标点遇到的问题
  8. java会导致蓝屏么_原来有这么多原因会导致电脑蓝屏啊
  9. JS通过List列表生成树结构
  10. 基于SpringBoot+MyBatis的餐饮点餐系统