JavaScript 创建对象的方式

news/2024/7/7 13:38:02

在JS中,创建对象(Create Object)并不完全是我们时常说的创建类对象,JS中的对象强调的是一种复合类型,JS中创建对象及对对象的访问是极其灵活的。
一、由一对大括号括起来

var emptyObj = {};
    var myObj =
    {
        'id': 1,        //属性名用引号括起来,属性间由逗号隔开
        'name': 'myName'
    };
    //var m = new myObj(); //不支持

不知你注意到对象都是用 var 声明的没有,像上面的代码,就只是简单的声明一个对象,它只有一份拷贝,你不能像实例化类对象一样对它采用new操作,像上面代码的注释部分。这样就极大的限制了对象的重用,除非你建立的对象只需要一份拷贝,否则考虑用其他方法建立对象。
下面一起看看如何访问对象的属性和方法。

var myObj =
    {
        'id': 1,
        'fun': function() {
            document.writeln(this.id + '-' + this.name);//以"对象.属性"方式访问
        },
        'name': 'myObj',
        'fun1': function() {
            document.writeln(this['id'] + '+' + this['name']);//以集合方式访问
        }
    };
    myObj.fun();
    myObj.fun1();
    // 结果
    // 1-myObj 1+myObj

二、用 function 关键字模拟 class

function myClass() {
            this.id = 5;
            this.name = 'myclass';
            this.getName = function() {
                return this.name;
            }
        }
        var my = new myClass();
        alert(my.id);
        alert(my.getName());
        // 结果
        // 5
        // myclass

三、在函数体中创建一个对象,声明其属性再返回

function myClass() {
            var obj =
            {
                'id':2,
                'name':'myclass'
            };
            return obj;
        }
        function _myClass() {
            var obj = new Object();
            obj.id = 1;
            obj.name = '_myclass';
            return obj;
        }
        var my = new myClass();
        var _my = new _myClass();
        alert(my.id);
        alert(my.name);
        alert(_my.id);
        alert(_my.name);

        // 结果
        // 2
        // myclass
        // 1
        // _myclass

四、函数定义

1、var aaa=function(){...}
      var 方式定义的函数,不能先调用函数后声明,只能先声明函数然后调用。

<script language="JavaScript" type="text/javascript">
    //aaa();这样调用就会出错
    var aaa = function () {
        alert("A");
    }
    aaa();//这样就不会出错
</script>

2、function aaa(){...}

      function方式定义函数可以先调用,后声明

<script language="JavaScript" type="text/javascript">
    //先调用后声明
    bbb();
    function bbb() {
        alert("bb");
    }
</script>









http://www.niftyadmin.cn/n/1996168.html

相关文章

计算机视觉 图像分类 环境配置,图像分类综述

计算机视觉三个层次计算机视觉三层次1. 图像分类概述1.1图像分类是指根据一定的分类规则将图像自动分到一组预定义类别中的过程。1.2图像分类方法的划分十分多样。根据图像语义内容的不同层次可以将图像分类划分为&#xff1a;(1)对象分类 object categorization(2)场景分类 sc…

css写一个步骤条

效果图代码如下<!DOCTYPE html> <html><head><meta http-equiv"Content-Type" content"text/html; charsetutf-8" /><title>process-example</title><style>/* reset.css */body {font-size: 12px !important;f…

JavasSript中类的实现

一、定义类并创建实例 function MyClass() {this.id 5;this.name myclass...;}这样&#xff0c;我们就定义了一个MyClass类&#xff0c;里面有两个公共属性 id 和 name。其中this关键字表示当前对象&#xff0c;类似于C#等强类型语言。 注意&#xff1a;列出属性的同时必须对…

什么是DIY

什么是DIY最佳答案DO IT YOURSELF的缩写 就是自己动手啦 DIY是"Do It Yourself" 的英文缩写。兴起于近几年&#xff0c;逐渐成为一种流行。简单来说&#xff0c;DIY就是自己动手&#xff0c;没有性别、年龄的区别&#xff0c;每个人都可以自己做&#xff0c;利用DIY做…

华中师范大学计算机考研难度如何,华中师范大学考研难吗?一般要什么水平才可以进入?...

问&#xff1a;从华中师范大学毕业的学生就业怎么样&#xff1f;值不值得报考&#xff1f;答&#xff1a;从2020年华中师范大学就业质量报告来看&#xff1a;2020届硕士毕业生就业率为73.11%。硕士毕业生就业行业中教育为64.10%、信息传输、软件和信息技术服务业为10.44%、金融…

2019前端面试题(浏览器、协议安全篇)

在此分享、整理前端面试题&#xff0c;如有解答错误的地方&#xff0c;烦请各位大佬指正&#xff0c;感谢&#xff01;&#xff01; 请描述一下cookie、sessionStorage、localStorage的区别 存储大小&#xff1a;cookie数据不能超过4k&#xff0c;sessionStorage和localStorage…

asp.net伪静态IIS下配置

①&#xff1a;首先要有这个文件URLRewriter.dll,如果没有,赶快到网上下载一个,并将其放到下面的bin目录里面,并且将其引用添加到下面里面; ②&#xff1a;下面就是Web.Config文件的配置了,当然,配置过程相当简单&#xff1a; 1&#xff1a;先添加这个 <configSections>…

小学计算机课程表说课稿,小学信息技术《创建课程表》说课稿

小学信息技术《创建课程表》说课稿一、说教材。1、教材分析。本课是省编信息技术教材第三册第七课&#xff0c;是在学生掌握了用wps软件进行简单文字处理的基础知识&#xff0c;以及基本操作的基础上学习的&#xff0c;主要让学生了解表格在文档中的作用&#xff0c;表格的组成…