<h3>构造函数</h3>
new Object()
new后面调用函数,我们称为构造函数。Object() 我们把他视为一个构造函数,构造函数的本质就是一个函数,只不过构造函数的目的是为了创建新对象,为新对象进行初始化(设置对象的属性)
<h3>this</h3>
谁调用this就是谁
1、
function test() {
console.log(this);
}
test(); //window.test();
//上面的this是window,实际是window调用test()
2、
p1.sayHi();
//sayHi()中的this,是p1,此时是p1调用sayHi()
3、
构造函数中的this,始终是new的当前对象
JavaScript中的对象:无序属性的集合。
其属性可以包含基本值、对象或函数。对象就是一组没有顺序的值。我们可以把JavaScript中的对象想象成键值对,其中值可以是数据和函数。
对象的行为和特征
特征---属性
行为---方法
<h3>对象字面量</h3>
var o = {
name : "zs",
age : 18,
sex : true,
sayHi : function() {
console.log(this.name);
}
};
o.sayHi(); //对象o调用sayHi()方法,所以sayHi()中的this是对象o
<h3>JSON</h3>
什么是JSON
JavaScript Object Notation(JavaScript对象表示形式)
JavaScript的子集
JSON和对象字面量的区别
JSON的属性必须用双引号引号引起来,对象字面量可以省略
var o = {}; 对象字面量 {} JSON
{
"name" : "zs",
"age" : 18,
"sex" : true,
"sayHi" : function() {
console.log(this.name);
}
};
<h3>伪代码:类</h3>
class Customer {
//属性
public String Name;
public String Age;
public String Money;
//方法
public void Buy (String id,int num,double price) {
self.money -= num * price;
//记录订单
}
}
<h3>伪代码:创建对象</h3>
Customer c1 = new Customer();
//属性
c1.Name = "张三";
c1.Age = 18;
c1.Money = 1000000;
//方法
c1.Buy("a001",1,500);
遍历对象的属性
for ... in 遍历对象的属性或者方法
var obj = {};
for (var i = 0; i < 10; i++) {
obj[i] = i * 2;
}
for(var key in obj) {
console.log(key + "==" + obj[key]);
}
<h3>Array</h3>
数组-引用类型,JavaScript中的内置对象
复习数组的使用
两种创建数组的方式
Array对象的属性
length 获取数组的长度(元素个数)
常用方法
检测数组
instanceof
Array.isArray() //HTML5中新增
转换数组
toString() //把数组转换成字符串,每一项用,分割
valueOf() //返回数组对象本身
join
栈操作(先进后出)
push()
pop() //取出数组中的最后一项,修改length属性
队列操作(先进先出)
push()
shift()//取出数组中的第一个元素,修改length属性
unshift() //在数组最前面插入项,返回数组的长度
排序方法
reverse() //翻转数组
sort(); //即使是数组sort也是根据字符,从小到大排序
带参数的sort是如何实现的?
操作方法
concat() //把参数拼接到当前数组
slice() //从当前数组中截取一个新的数组,不影响原来的数组,参数start从0开始,end从1开始
splice()//删除或替换当前数组的某些项目,参数start,deleteCount,options(要替换的项目)
位置方法
indexOf()、lastIndexOf() //如果没找到返回-1
迭代方法 不会修改原数组
every()、filter()、forEach()、map()、some()
清空数组
var array = [1,2,3,4,5,6];
方式1
array.splice(0,array.length); //删除数组中所有项目
方式2
array.length = 0; //length属性可以赋值,其它语言中length是只读
方式3
array = []; //推荐