数组
1.数组的概念
数组是指一组数据的集合,其中的每个数据被称为元素,,在数组中可以存放任意类型的元素。数组是一种将一组数据存储在单个变量名下的优雅方式
普通变量一次只能存储一个值、
var num = 10;
数组一次可以存储多个值
var arr = [1,2,3,4,5];
2.创建数组
2.1 利用new创建数组
var 数组名 = new Array();
var arr = new Array(); 创建一个新的空数组
2.2利用数组字面量创建数组
var 数组名 = [];
2.3数组元素的类型
数组中可以存放任意类型的数据,例如字符串,数字,布尔值等
var arr = [‘小白’,12,true,28,9];
3.获取数组元素
3.1数组的牵引
索引(下标):用来访问数组元素的序号(数组下标从0开始)
数组可以通过索引来访问,设置,修改对应的数组元素,我们可以通过**数组名[索引]**的形式来获取数组中的元素
var arr =[1,2,3];定义数组
console.log(arr[1]);获取数组中第二个元素
4.遍历数组
4.1利用for循环遍历数组
var arr = [‘按时’, ‘blue’, ‘lisa’];//
for (var i = 0; i < arr.length; i++) {
console.log(arr[i]);
}
5.数组中新增元素
5.1通过修改length长度新增数组元素
-
可以通过修改length长度来实现数组扩容的目的
-
length属性是可读写的
var arr = [‘red’, ‘blue’, ‘wpc’]
console.log(arr.length);
arr.length = 5;
console.log(arr);
console.log(arr[3]);
console.log(arr[4]);
5.2通过修改数组索引的方式追加数组元素
- 可以通过修改数组索引的方式追加数组元素
- 不能直接给数组名赋值,否则会覆盖掉以前的数据
var arr1 = [‘red’, ‘blue’, ‘wpc’];
arr1[3] = ‘pink’;
console.log(arr1);
函数
1.什么是函数
函数就是封装了一段可以被重复执行调用的代码块, 目的 就是让大量代码重复使用
function getsum(num1, num2) {
var sum = 0;
for (var i = num1; i <= num2; i++) {
sum += i;
}
console.log(sum);
}
getsum(1, 100);
getsum(10, 50);
getsum(1, 1000);
2.函数的使用
2.1.声明函数
function 函数名(){
函数体
}
-
1.function 声明函数的关键字 全部小写
-
2.函数是做某件事,函数名一般是动词 seyHi
-
3.函数不调用自己不执行
2.2.调用函数
函数名();
通过调用函数名来执行函数体代码
注意:调用函数加小括号
2.3函数的封装
- 函数的封装是把一个或多个功能通过函数的方式封装起来,对外只提供一个简单的函数接口
- 简单理解:封装类似于将电脑配件整合组装到机箱中 留下接口
3.函数的参数
在声明函数时,可以在函数名称后面的小括号添加一些参数,这些参数被称为形参,而在调用函数时,同样也需要传递相应的参数,这些参数被称为实参
形参:形式上的参数,函数定义的时候 传递的参数,当前并不知道是什么
实参:实际上的参数,函数调用时候传递的参数,实参是传递给形参的
参数的作用:在函数内部某些值不能固定,我们可以通过参数在调用函数时传递不同的值进去
预解析
1.js代码是由浏览器中的js解析器来执行,js解析器在运行js代码的时候分两步:预解析和代码执行
预解析 js引擎会把js里面所有的var 还有function提升到当前作用域的最前面
代码执行:按照代码的顺序从上往下执行
2.预解析分为变量预解析(变量预解析)和函数预解析(函数提升)
变量预解析:就是把所有的变量声明提升到当前的作用域最前面 不提升赋值变量
函数预解析:就是把所有的函数声明提升到当前的作用域最前面 不调用函数
对象
1.什么是对象
1.1在JavaSpicrt中,对象是一组无序的相关属性和方法的集合,所有的事物都是对象,例如:字符串,数值,数组,函数等
对象是由属性和方法组成的
- 属性:事务的特征,在对象中用属性来表示(常用名词)
- 方法:事务的行为,在对象中用方法来表示(常用动词)
例如:一个手机
这是一个对象
手机的大小、手机的颜色、手机的重量、手机的屏幕大;这些都是手机的属性
用手机打电话、发短信、打游戏、看电视、;这些都是手机的方法
1.2为什么需要对像
保存一个值时,可以使用变量,保存一组值时,可以使用数组,如果要保存一个人的完整信息用数组表达不清晰就可以适用对象
2.创建对象的三种方式
2.1利用字面量创建对象
对象字面量:就是花括号{}里面包含了表达这个具体事务(对象)的属性和方法
var obj = {
uname: 'lili',
age: 10,
sex: '女',
sayHi: function () {
console.log('hi~');
}
}
1.里面的属性或者方法我们采取键值对的形式 键 属性名 : 值 属性值
2.多个属性或者方法中间用逗号隔开
3.方法冒号后面是一个匿名函数
使用对象
1.调用对象的属性 我们采取 对象名.属性名
console.log(obj.uname);
2.2利用new Object创建对象
利用new obj创建对象
跟学到的new Array()原理是一样的
var obj = new Object();//创建了一个空的对象
obj.uname = 'lili';
obj.age = 18;
obj.sex = '男';
obj.sayhi = function () {
console.log('hi');
}
1.利用了等号赋值的方法添加对像属性的方法
2.每个属性和方法之间用分号结束
console.log(obj.uname);
console.log(obj[‘sex’]);
obj.sayhi();
2.3利用构造函数创建对象
构造函数:是一种特殊的函数,主要用来初始化对象,即为对象成员变量赋初始值,它总于new运算符一起使用,我们可以把对象中一些公共的属性和方法抽取出来,然后封装到这个函数里面
/* function 构造函数名() {
this.属性 = 值
this.方法 = function(){
}
}
new 构造函数名(); */
function Star(uname, age, sex) {
this.name = uname;
this.age = age;
this.sex = sex
}
var ldh = new Star('刘德华', 18, '男');//调用函数返回的是一个对象
console.log(ldh.name);
console.log(ldh['sex']);
var zxy = new Star('lili', 18, '女');
console.log(zxy.name);
1.构造函数名字首字母要大写
2.我们构造函数不需要return 就可以返回结果
3.我们调用构造函数 必须使用new
4.我们只要newStar()调用函数就创建一个对象ldh{}
5.我们属性方法前面得用this.
变量,属性,函数,方法的区别
变量和属性的相同的:他们都是用来保存数据了
不同点:
变量:单独声明并赋值 使用的时候直接写变量名 单独存在的
属性:在对象里面的不需要声明的 使用的时候必须是 对象.属性
函数和方法的相同的:都是实现某种功能 做某件事
不同点:
函数:是单独声明 并且调用的 函数名() 单独存在的
方法:在对象里面调用的时候 对象.方法()