您的位置:首页 > 其它

基本包装类型和自定义对象

2017-11-14 22:15 253 查看

基本包装类型和自定义对象

基本包装类型

再讲之前,先给大家普及一下Js中的数据类型

总共分为两种:

基本数据类型有五个:

1.number 2.string 3.boolean 4.null 5.undefined

复杂数据类型也有五个:

1.Object 2.function 3.Array 4.Date 5.Regexp

介绍完了,接下来就来说说基本类型的包装:

主要有number,string还有boolean,

但一般number和boolean使用的比较少,歧义较多,因此也不推荐

使用,下面举个例子介绍string类型的基本包装:

var str = "abc";
var index = str.indexOf(b);
console.log(index);//输出1

/*
不知道这里大家有没有疑问,str明明不是string类型吗,string不是
对象,怎么能调用indexOf()方法呢!!!
其实,这里就涉及到js中的基本包装类型了:
*/


基本包装类型的步骤:

1.创建一个临时变量

2.使用这个临时变量去调用方法

3.使用完立马销毁

//当上面的str调用indexOf()方法的时候,Js隐式执行了如下操作:
var temp = new String();
temp.indexOf();
//可以看到str被隐式转换为了String对象,因此也就可以调用方法了.
//boolean,number包装的方法和string一样,我就不一一写了


自定义对象

对象是由属性和方法组成的

自定义对象有两种写法:

第一种:通过构造函数来创建对象:

function Phone(brand,price,color,tag){
this.brand = brand;
this.price = price;
this.color = color;
this.tag = tag;
this.call = function(){
console.log("我是"+this.color+"的"+this.brand+"手机
,我的价格是:"+this.price+",我象征着"+this.tag);
}
}
var phone = new Phone("苹果X",10000,"黑色","装逼佬");
phone.call();
//这里使用了new + 构造函数的方式创建了一个Phone的对象并赋给了
//phone,因此phone就能调用里面的call方法了。
// 使用构造函数的方式,适用于批量的创建对象
// 我只想要一个对象就可以,不需要写构造函数,太麻烦了
// 因此使用对象字面量的方式


new在创建对象的时候做了四件事:

1.创建了一个空对象,

2.将关键字this指向了这个对象

3.执行里面代码,给当前创建的对象赋值

4.返回这个对象

第二种:通过对象字面量的方法创建对象

var o = {};//就是使用对象字面量的方式创建了一个空对象
o.name = "张三";
o.age = 20;
o.sex = "男";
o.sayHello =function (){
console.log("大家好我的名字是"+ o.name+"我今年"+
o.age+"岁了,我是"+ o.sex+"生");
}

var o ={
sex:"男",
age:20,
name:"张三",
sayHello :function (){
console.log("大家好我的名字是"+ o.name+"我今年"+ o.age+"岁了,我是"+ o.sex+"生");
}
}


访问对象的两种方式

/*
访问对象属性的第一种方式:通过点的方式
对象.属性
*/
console.log(o.name);
console.log(o.age);
console.log(o.sex);
console.log(o.sayHello);

/*
第二种:通过键的方式
对象[属性对应的名称字符串]
*/
console.log(o["name"]);
console.log(o["sex"]);
console.log(o["age"]);
console.log(o["sayHello"]);


删除对象的属性:

//delete  关键字  --  删除的意思
//在js中delete关键字是用来删除对象的某个属性的
//例如:
var obj = {};
obj.name = “李狗蛋”;
delete obj.name;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息