JS对象定义的三种方法分享

方法一:通过var object={} 对象字面量

(1),可以叫对象直接量来自定义一个对象。对象自面量是一个表达式,这个表达式的每次运算都创建并初始化一个新对象。

var user = { x:1,y:2,z:3,pp:function(){ alert("22222222") }}

//用字面量定义一个对象,是以名值对的方式来保存的

alert(user.y) //调用属性

user.pp() //调用方法

(2) var student = { //还可以换行写,每义定一个属性名和值,用逗号分开,最后一个不加逗号,加了会被忽略,但在ie中会报错,最好不要加

"x":1, //定义属性名的时候可以用双引号

'y':2, //定义属性名的时候可以用单引号

z:12.3, //定义属性名的时候可以加任何

"for":"使用关键字来定义属性名要加上引号", //使用关键字定义的话必须加上双引号 man:{ //对象里面还可以签到对象

text:null, //对象的属性值可以是多种数据类型

text2:undefined,

married:true

},

dd:function(){alert("33333333")}

}

alert(student.x)

student.dd()

方法二:通过 var obj = new Object();创建对象

1、创建一个空白的Object对象

写法1:var obj = new Object();

写法2:var obj = {};

2、给创建的对象添加属性和方法

var obj = {};

obj.name = '小明'; //属性

obj.showName = function(){ //方法

alert(this.name);

};

obj.showName(); //方法的调用

==========================================

1 <script>

2 var obj = new Object() //创建了一个对象,object对象也是对象中的顶级对象

3 var arry = new Array() //创建了一个数组对象

4 var date = new Date() //创建一个时间对象

5 var reg = new RegExp("js") //创建一个正则对象6

</script>

==========================================

===========================================

通过object.create来创建对象

1 <script>

2 var obj = Object.create({x:1})

3 var obj = Object.create(null) //创建了一个没有原型的对象,没有任何方法

4 var obj = Object.create(obj.prototype) //创建了一个普通的空对象

5 </script>

===========================================

方法三:通过构造函数来创建对象

通过instanceof操作符可以检测一个对象是否由某个指定的构造器函数来创建的对象

注意:

使用的时候可以通过new操作符得到对象。

用构造器创建对象的时候可以接收参数

构造器函数的首首字母最好大写,区别其他的一般函数

function Person(name,age){ //创建一个person的函数

this.name =name; //此处的this对应的是对象obj

this.age = age

}

var obj = new Person("ziksang",21) //用一个构造函数来创建了对象

alert(obj.name) //=>ziksang 用对象名.对象的属性来获得属性值

alert(typeof obj) //=>用typeof来检测obj是不是一个对象类型, 返回object

alert(obj instanceof Person) //=> 用instanceof 来检测objcet是不是person函数构造出来的对象,返回true

+++++++++++++++++++++++++++++++++++++++++++++++++++++++

方法(1)==方法(2)

(1)

var obj = new Object();

obj.name = "孙悟空";

obj.age = 18;

obj.sayName = function(){ alert(obj.name); };

function fun(){ alert(obj.name); };

obj.sayName();

fun();

(2)

var obj2 = {

name:"猪八戒",

age:18,

sayName:function(){ alert(obj2.name); }

};

obj2.sayName();

来源:https://www.weidianyuedu.com

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值