对象和内置对象

2017-06-08  本文已影响0人  Yuann

<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 = [];  //推荐
上一篇下一篇

猜你喜欢

热点阅读