学习历程~JS对象定义与使用

82 阅读1分钟

一、使⽤原始的⽅式创建对象

//定义

var myObject = new Object();

myObject.name = “张三丰”; //定义属性

myObject.age = 20;

myObject.say = function(){ //定义⽅法

console.log("我的名字叫:"+this.name+"; 年龄:"+this.age);

}

//使⽤

console.log(myObject.name); //对象调⽤属性

console.log(myObject.age);

myObject.say(); //对象调⽤⽅法

二、使⽤⼯⼚模式创建对象

function createObject(name,age) {

var obj = new Object();//创建对象

//添加属性

obj.name = name;

obj.age = age;

//添加⽅法

obj.say = function () {

console.log("我的名字叫:" + this.name + "年龄:" + this.age);

};

return obj;

}

//创建⼈的对象

var per1 = createObject("王五",20);

per1.say();

//创建⼀个⼈的对象

var per2 = createObject("赵六",30);

per2.say();

三、使⽤⾃定义构造函数创建对象

//使⽤构造⽅式创建⼀个对象

function Stu(name,age){

this.name = name;

this.age = age;

this.getinfo = function(){

return this.name+":"+this.age;

};

}

//测试

var s = new Stu("zhangsan",22);

document.write(s.getinfo());

四、直接创建⾃定义对象

//格式:var 对象名 = {属性名1:属性值,属性名2:属性值2,…….}

var obj={};

obj.name="⼩⽩";

obj.say=function () {

console.log("我叫: "+this.name);

};

obj.say();

var obj2={

name:"⼩明",

age:20,

say:function () {

console.log("我叫: "+this.name+"; 年龄: "+this.age);

},

};

obj2.say();    

五、测试数组类型

1、验证是数组类型,typeof() //global对象的其中⼀个⽅法,typeof()
var arr =[10,20,30];
console.log(typeof(arr));  //会输出是Object对象的结果,并不能让我们知道他是数组

2、对象.constructor; //查看当前对象的构造函数是谁
console.log(arr.constructor==Array);  //会得到布尔类型的结果,true就是数组,false就不是数组

3、变量 instanceof 类型的名字----->做亲子鉴定(使用上三中举例)
console.log(s instanceof Stu);  //判断变量s是不是来自对象Stu,得到布尔类型,true就是这种类型,false不是这种类型