1.第一种方式直接创建一个对象,然后对对象进行操作,最为普遍。
var obj=new Object();
obj.name='henya';
obj.age='16';
obj.forget=function(year,miss){
alert('时间会让记忆淡化');
return year+miss;
}
var re=obj.forget(12,14);
consle.log(re);
2.第二种方式,要去理解prototype:
javascript中的每个对象都有prototype属性,Javascript中对象的prototype属性的解释是:返回对象类型原型的引用。
A.prototype = new B();
理解prototype不应把它和继承混淆。A的prototype为B的一个实例,可以理解A将B中的方法和属性全部克隆了一遍。A能使用B的方法和属性。这里强调的是克隆而不是继承。可以出现这种情况:A的prototype是B的实例,同时B的prototype也是A的实例。
function Obj(){
this.name='henya';
this.age='16';
this.addhappy=function(){
alert("flowers");
}
}
Obj.prototype.removebad=function(){
alert("smile");
}
var obj=new Obj();
obj.removebad();
obj.addhappy();
alert(obj.name);
3.第三种方式 混合模式开发 var obj=function () {
this.name='henya';
this.age='16';
var addhappy=function () {
alert("flower");
}
}
// console.log(typeof obj); function对象
obj.removebad1=function () {
alert("smile");
}
//直接可以进行调用
obj.removebad1();
obj.prototype.removebad2=function () {
alert("eating");
}
var ob=new obj();
//如果不创建一个实例对象,会报错
ob.removebad2();
4.第四种方法 直接创建对象
var obj={
name:"henya",
age:"16",
addhappy:function () {
return "flower";
},
removebad:function () {
return "smile";
}
}
alert(obj.addhappy());
alert(obj.name);
5.第五种方法var obj = function(){
var ob = new Object();
ob.c=2;
ob.jiafa=function(x,y){
return x+y+this.c;
}
return ob;
}
var ob2 = new obj();
//alert(ob2.jiafa());NAN
alert(ob2.jiafa(1,2));//5