javaScript笔记(四) 数组 和 函数
来源:互联网 发布:windows android忘仙 编辑:程序博客网 时间:2024/06/05 04:45
第1章 数组
1.1 数组的概述
1.1.1 为什么学习数组
之前学习的数据类型,只能存储一个值。(字符串为一个值)
我们想存储多个值的时候可以使用数组。(字符串不方便)
比如:存储班级中所有学生的姓名。([“张三”,“李四”,“王五”])
1.1.2 数组是什么
数组是一种数据类型。(把很多数据装入一个盒子中,用的时候在取出来)
字面量为[1,2,3]。可以理解为:西瓜皮[],西瓜肉123,西瓜子(,)
1.2 数组的定义
1.2.1 字面量定义
var arr = [1,2,3];
1.2.2 对象定义(数组的构造函数)
var arr = new Array(参数);
参数位置一个数值时为数组长度,多个数值时为数组中的元素。
1.3 数组的操作
1.3.1 求数组的长度
数组的长度 = 数组名.length;
可以通过修改数组的长度来改变数组中元素的个数,如果改小了,数组从后面删除元素。(伪数组的长度可以修改,但是不能修改里面的元素)
1.3.2 获取数组中的元素
数组中的指定元素 = 数组名[索引值];
数组的索引代表的是数组中的元素在数组中的位置,从0开始。
如果获取数组中元素是,数组名[索引值],没有指定索引(元素没那么多),系统不报错,而是给定值为undefined;
1.4 遍历数组(获取并操作数组中的每一个元素)(!!!重点!!!)
vararr =[1,2,3];
for(vari = 0;i<arr.length;i++){
arr[i] //如此操作数组中的每一个元素
}
1.5 案例:
一、求一组数中的所有数的和和平均值
二、求一组数中的最大值和最小值,以及所在位置
三、将字符串数组用|或其他符号分割
四、将数组中值为0的去掉,不为0的存入一个新数组
五、翻转数组
六、冒泡排序,从小到大
1.6 调试(打断点)
一、过去的调试(锻炼逻辑能力)
alert(变量); console.log(变量);
二、设置断点(项目太大,使用断点方便,清晰)
第2章 函数基础
2.1 函数概述
2.1.1 什么是函数
函数就是可以重复执行的代码块。
2.1.2 为什么要用函数
因为一部分代码使用次数可能会很多,所以封装起来,需要的时候调用就可以了。
案例:求和;
2.2 函数的定义
关键字function。
function 函数名 () { 程序 }
2.3 参数
参与运算的变量。
为什么要设置参数?为了增强函数的功能性,和程序员的交互性,和函数的可拓展行。所以我们增加了参数这个
概念。
2.3.1 形参
形式上参与运算的变量,无实际值,为实参占位置,就像一个躯壳一样。(可以理解为函数的内部变量外部无
法访问)
2.3.2 实参
实际参与运算的变量。形参为他占位置,真实参与运算的变量。
2.4 返回值
函数程序运行后的结果外部需要使用的时候,我们不能直接给与,需要通过return返回。
总结:函数内部,return后面的值就是返回值;
作用:函数执行后剩下结果就是返回值。
函数执行完毕,会不会留下点儿什么,取决于有没有返回值
var temp = 函数名() = (功能)+ 该函数的返回值;
2.4.1 注意
1. 如果函数没有显示的使用 return语句 ,那么函数有默认的返回值:undefined
2. 如果函数使用 return语句,那么跟再return后面的值,就成了函数的返回值
3. 如果函数使用 return语句,但是return后面没有任何值,那么函数的返回值 也是:undefined
4. 函数使用return语句后,这个函数会在执行完 return 语句之后停止并立即退 出,也就是说return后面的
所有其他代码都不会再执行。
2.5 案例
1、求圆的周长和面积
2、求2个数中的最大值,求3个数中的最大值
3、求一组数中的最大值和最小值
4、翻转数组,返回一个新数组
5、对数组排序,从小到大
6、求阶乘
7、求1!+2!+3!+....+n!
8、判断一个数是否是素数
2.6 函数名、函数体和函数加载问题(重点记忆)
1、函数名是什么
函数名 == 函数体。
function fn(){alert(1)};
console.log(fn) == console.log(function fn(){alert(1)});
2、函数加载问题
JS加载的时候,只加载函数名,不加载函数体。所以如果想使用内部的成员变量,需要调用函数。
2.7 代码练习
1、求斐波那契数列Fibonacci中的第n个数是多少?
1 1 2 3 5 8 13 21...
2、输入某年某月某日,判断这一天是这一年的第几天?(闰年)
(四年一闰,百年不闰,四百年在闰)
第3章 函数高级
3.1 函数定义
3.1.1 函数声明(自定义声明)
function f(a,b) {
return a + b; }
console.log(f(5,6));
3.1.2 函数表达式
var myFun = function (a,b){
return a + b;
}
console.log(myFun(6,7));
3.2 变量和作用域(隐式全局变量和变量声明提升)
3.2.1 变量和作用域(函数中的变量需要函数执行后才能使用)
一、全局变量(成员变量)
哪里都可以访问到的变量。
(进入script立即定义的变量和没有var的变量)
二、局部变量
函数内部的变量,只有函数内部可以访问到。
(函数内部用var定义的变量和形参)
3.2.2 隐式全局变量
隐式全局变量就是隐藏的全局变量不好被发现。
function fn(){
var a = b = c = 1; // b和c就是隐式全局变量
}
注意:
function fn(){
var a = b = c = 1; // b和c就是隐式全局变量(等号)
var a = 1; b = 2; c = 3; // b和c就是隐式全局变量(分号)
var a = 1 , b = 2 , c = 3; // b和c就不是隐式全局变量(逗号)
}
3.2.3 变量声明提升(出现原因:预解析)
函数中,定义变量在使用变量之后。
值提升变量名,不提升变量值,容易出现undefined。计算后形成NaN。
function fn(){
// var aaa;
console.log(aaa);
var aaa = 1;
}
//提前看一眼这个习惯叫什么呢? 预解析!
//变量声明提升:在预解析的时候,成员变量和函数,被提升到最高位置,方便其他程序访问。
//变量声明提升特点:成员变量只提升变量名,不提升变量值。但是,函数是所有内容全部提升。(function直接定义的)
//函数范围内照样会出现变量声明提升
//什么情况容易出现变量声明提升:使用变量在定义变量之前。
3.3 匿名函数
定义:匿名函数就是没有名字的函数。
作用:
1.不需要定义函数名的时候。
2.书写起来更简便。
3.内存少加载内容。
匿名函数的调用有三种方法:
一、直接调用。(function(){alert(1)})()
二、事件绑定。
三、定时器。
3.4 递归和函数作为参数
递归:就是函数自己调用自己。
3.5 函数是一种类型
数据类型包括,简单类型和引用类型。
简单数据类型有五种。String,Number,Boolean,null,undefined;
复杂数据类型有两种。object和function。
3.6 小知识
3.6.1 函数不调用不执行
3.6.2 打印函数名就等于打印函数体(整个函数)
3.6.3 加载函数的时候,只加载函数名,不加载函数体
3.6.4 参数相当于局部变量
3.6.5 就近原则使用变量
3.6.6 两个评级的函数中的变量不会相互影响(可以使用同样的形参名)
- javaScript笔记(四) 数组 和 函数
- 黑马程序员 笔记(四)——函数和数组
- 【javascript笔记】关于函数的构造函数和prototype<四>
- shell-四(数组和函数)
- javascript学习笔记四:javascript中的函数(对象)
- javaScript 笔记 (五) 对象和数组
- 数组笔记(四)
- JavaScript 笔记(四)
- JavaScript笔记(四)
- JavaScript学习笔记(四)——函数对象1
- JavaScript学习(四)-数组
- 精通javascript 函数和数组
- JavaScript学习笔记(四) 自定义构造函数和构造函数返回值
- (3)JavaScript学习笔记 - 函数、对象、数组
- C++学习笔记(四)——关于数组作为函数参数的值传递和引用传递
- javascript 学习笔记(四)
- JavaScript学习笔记(四)
- JavaScript学习笔记(四)
- Xshell
- POJ 2104 K-th Number [主席树]
- CentOS7下卸载默认的MariaDb
- 说说JSON和JSONP
- android:screenOrientation属性
- javaScript笔记(四) 数组 和 函数
- Hadoop2.7集群安装
- RabbitMQ Java 实例
- mysql 下locate和find_in_set的使用
- Cannot resolve corresponding JNI function
- **YII** 系列七Database
- Html JS 小技巧
- ViewPager在首尾页滑动切换
- C语言快速查找与二分查找0804