JS除了一些常用方法和类以外,允许我们自己定义对象,在JS中自定义对象有三种可用的语法格式,分别为:
使用 Object
在 JavaScript 中,几乎所有的对象都是 Object 类型的实例,它们都会从 Object.prototype 继承属性和方法。
Object 构造函数创建一个对象包装器。
Object 构造函数,会根据给定的参数创建对象,具体有以下情况:
如果给定值是 null 或 undefined,将会创建并返回一个空对象。
如果传进去的是一个基本类型的值,则会构造其包装类型的对象。
如果传进去的是引用类型的值,仍然会返回这个值,经他们复制的变量保有和源对象相同的引用地址。
当以非构造函数形式被调用时,Object 的行为等同于 new Object()。
1、调用系统的构造函数创建对象
语法格式:
// 以构造函数形式来调用
new Object([value])
value 可以是任何值。
//初始化对象
var obj=new Object();
//给对象新增属性
obj.name='kd'
obj.age='18'
obj.gender='男'
//给对象添加方法
obj.eat=function(food){
console.log(this.name+"正在吃"+food)
}
//查看对象属性
console.log(obj.name);
console.log(obj.age);
console.log(obj.gender);
//调用对象方法
obj.eat('肉')
2、自定义构造函数创建对象
在JavaScript中,this通常指向的是我们正在执行的函数本身,或者是指向该函数所属的对象(运行时)
实例:
//准备一个构造方法
function Person(pname,page){
this.pname=pname;
this.page=page;
this.eat=function(food){
console.log(this.page+"岁的"+this.pname+"正在吃"+food);
}
}
var p=new Person('kd',18);
//查看对象属性
console.log(p.pname)
console.log(p.page)
//调用对象方法
p.eat('肉')
3、字面量的方式创建对象
语法格式:
其实就是大括号里面创建 name:value 对,然后 name:value 对之间以逗号 , 隔开。
{ name1 : value1, name2 : value2,...nameN : valueN }
案例
var person={
name:"kd",
age:"18",
gender:"男",
eat:function(food){
console.log(this.age+"岁的"+this.gender+"孩子"+this.name+"正在吃"+food)
}
}
//查看对象属性
console.log(person.name)
console.log(person.age)
//调用对象方法
person.eat('水果')
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/123442.html