js创建对象的多种方式
1.字面式声明对象
<script> //字面式 var person = { name:'张三', age:16, run:function () { return '走路'; } } alert('他叫' + person.name + ',今年' + person.age + '岁了,上学方式是' + person.run()) </script>
2.Object构造对象
因为js中所有对象都是Object的子对象,所以可以new Object操作后构造函数
<script> var person = new Object(); person.name = '李四' person.age = 15; person.run = function () { return '骑车' } alert('他叫' + person.name + ',今年' + person.age + '岁了,上学方式是' + person.run()) </script>
3.构造方式声明对象
this代表当前对象,函数内部只能用this访问属性和方法
<script> function Person(name,age) { this.name = name; this.age = age; this.run = function () { alert('他叫' + person.name + ',今年' + person.age + '岁了,上学方式是坐汽车'); } } var person = new Person('王五',17); person.run(); </script>
4.构造函数创建对象
构造器构造的对象,效率低,并且参数顺序在函数体不能变
<script> var obj = new Function('num1','num2','return num1 + num2'); var result = obj(2,8); alert(result); </script>
5.工厂方式声明对象
<script> function createObject(name,age) { var person = new Object(); person.name = name; person.age = age; person.run = function (tool) { alert('他叫' + this.name + ',今年' + this.age + '岁了,上学方式是' + tool); } return person; } var person = createObject('王五',16); person.run('坐船') </script>
6.原型模式声明对象
任何js方式或函数,都自带一个prototype属性,而且是以对象的方式存在。可让所有实例化的对象都拥有它包含的属性和方法
<script> function Person() { } Person.prototype.name = '马六'; Person.prototype.age = 17; Person.prototype.run = function (tool) { alert('他叫' + this.name + ',今年' + this.age + '岁了,上学方式是' + tool); }; var person = new Person(); person.run('坐飞机'); </script>
7.混合模式声明对象
<script> function Person(name,age) { this.name = name; this.age = age; } Person.prototype = { run:function (tool) { alert('他叫' + this.name + ',今年' + this.age + '岁了,上学方式是' + tool); } } var person = new Person('马七',18); person.run("坐火车"); </script>
分类:
前端
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix