分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 前端开发

js创建对象的几种方式

发布时间:2023-09-06 02:34责任编辑:沈小雨关键词:js

一.使用构造函数创建对象

  1.使用系统构造函数创建对象

    举例:     

1 var obj = new Object();2 obj.name = "小明";3 obj.age = 28;4 obj.eat = function(){5 console.log("小明喜欢吃西瓜");6 };7 console.log(obj.name);8 console.log(obj.age);9 obj.eat();

 

 2.使用自定义构造函数创建对象

    a.使用不带参数的自定义构造函数创建对象

      举例:    

 1 function Person(){ 2 ????this.name = "小红"; 3 ????this.age = 28; 4 ????this.eat = function(){ 5 ????console.log("小红喜欢吃西瓜"); 6 } 7 var obj = new Person(); 8 console.log(obj.name); 9 console.log(obj.age);10 obj.eat();

  

   b.使用带参数的自定义构造函数创建对象

      举例:

      

function Person(name,age){ ???this.name = name; ???his.age = age; ???this.eat = function(){ ???????????console.log(this.name + "今年" + this.age + "岁了,喜欢吃西瓜"); ???????};}var obj = new Person("小光",18);var obj2 = new Person("小青",22);console.log(obj.name);console.log(obj.age);obj.eat();console.log(obj2.name);console.log(obj2.age);bj2.eat();

    c.定义构造函数时应遵循的命名规范

      定义构造函数时函数名的首字母要大写

    d.使用instanceof关键字来查看对象的类型

      举例:    

function Person(name,age){ ???this.name = name; ???this.age = age; ???this.eat = function(){ ???????????console.log(this.name + "今年" + this.age + "岁了,喜欢吃西瓜"); ???????};}function Dog(){ ???this.eat = function(){ ???????????onsole.log("狗喜欢吃骨头"); ???};}var obj = new Person("小光",18);var obj3 = new Dog();console.log(obj instanceof Person);console.log(obj instanceof Dog);console.log(obj3 instanceof Dog);

二.工厂模式创建对象

  举例: 

 ???????<script> ???????????//使用工厂模式创建对象 ???????????function createObj(name,age,sex){ ???????????????var obj = new Object(); ???????????????obj.name = name; ???????????????obj.age = age; ???????????????obj.sex = sex; ???????????????obj.say = function(){ ???????????????????console.log("我是" + "this.sex" + "的"); ???????????????}; ???????????????return obj; ???????????} ???????????var obj = createObj("小黄",56,"男"); ???????????var obj = createObj("小紫",52,"男"); ???????????????????</script>

  说明:使用工厂模式创建对象其实就是讲创建对象的过程用函数封装起来,用于方便快捷的创建多个类似的对象,同时也存在问题,使用工厂模式创建的对象,无法判断哪个实例属于哪个对象,即使用instanceof关键字无意义

js创建对象的几种方式

原文地址:https://www.cnblogs.com/alan-1996/p/10459921.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved