zoukankan      html  css  js  c++  java
  • javascript 对象

      今天我们说一下JavaScript的对象!(ps别想歪了!;)

      在现实生活中我们为每一种事物分了类,比如说人,动物,饮料,食物,建筑!而在JavaScript中我们把事物统一称为对象;像变量,数字,数组,函数;我们都可以称为对象;

      我们看W3School中对于对象的定义是“JavaScript 中的所有事物都是对象:字符串、数值、数组、函数... ,此外,JavaScript 允许自定义对象。”那么我觉得我们可以这么认为,在JavaScript中对象可以分为两类:第一种也是我们用的最多的是语言本身提供的对象像 数组,函数 等;第二种就是我们自己创建的!

      对象只是带有属性和方法的特殊数据类型。那么什么是对象的属性呢!我举一个小例子可以更快的理解:

      金毛我们都很熟悉吧;我们把金毛看成我们的一个对象;那么这个对象有什么属性呢;第一个 name 如果没有一个独立的名字,那么我们的世界一定会很混乱的;第二个属性:长像特征 金毛那一身金色的毛发,每个人看起来心里都是一暖吧,在配上那种温柔的性格;那么金毛的方法是什么呢;首先;它会 旺旺·· 的叫,这个动作可以称为它的一个方法;其次它在你生气的时候可以逗你笑,这个动作也可以称为它的一个方法;现在心里应该对于属性与方法的概念区别出来了!

      属性就是对于一个对象的描述,例如 length 长度,我们可以用这个关键字获取到一个Array的长度,或者一个Number的长度;

      访问属性的代码写法是:objectName.propertyName 对象的名字.属性的名字;两个名字之间用点“.”来作为连接!

      方法就是对于一个对象能做的什么操作,Number的toString() 可以把一个数字转换为一个字符串;(ps:简单的记忆区别就是:方法的后面都带有 小括号:“()”;)

      调用对象方法的代码写法是:objectName.methodName() 与访问属性的方法一样也是用“.”来作为连接符

      JavaScript允许我们自己创建自己需要的对象:那么自己创建一个对象的代码写法是什么呢?看下面的代码演示:

    //在写那个之前我们先写一下命名一个变量的完整写法
    
    var  a = new String(2);      
    //但是这种写法太过于繁琐,现在都是直接:
    var a = 2//命名一个数组的代码是:
    var  arr  =  new Array[];
           arr[0] = 'hello';
            arr[1] = 'world';
    //这样我们就写了一个数组;找到规律了吗?命名一个对象与他们类似:
    var dog = new Object();
        dog.name = '金毛';
        dog.age = 4;
        dog.say = function(){
                            return "I'm"+dog.name+"my year is"+dog.age+"old;"
                             }
    //上面我创造了一个名字是dog 的新对象;我们可以访问它的属性:
    alert(dog.name);
    alert(dog.age);
    //调用它的方法:
    alert(dog.say());

      我们前面说过的json方式写关联数组的方法其实说的并不是那么准确;json本身是对象的;并不是数组:

    var json = {'name':'jack','age':20}
    //这是一个json 数组;我们查看下它的类型是什么;用到typeof这个关键字
    alert(typeof  json);

      我们能看到弹出的是object 说明json本身是一个对象!

      还有一种对象的创建方法叫做自定义够造对象;也可以称为构造函数:  

    function Dog(){   //构造函数的首字母是大写的
        this.name = '金毛';
        this.age = 5;
        this.say = function(){
            return "I'm"+this.name+"my year is"+this.age+"old;"
            }
    } 
    //为了能够让 say 中的函数能获取到Dog的里面的值 我用了this这个关键字;  上面我自定义了一个函数 也可以称为一个对象

      但是当你去试着调用这个对象的时候却发现无法调用,这就涉及到一个对象实例化的问题;

      什么是对象实例化呢;我们可以这样看待,我们自定义了一个新的对象,是在建造一座房子;而我们刚刚创造的那个自定义对象相当于这个房子的蓝图;我们想使用这个房子的话我们需要把这个图纸实现出来;实现出来的这个过程就叫做对象实例化;是不是觉得很难?其实很简单;看例子:

    //我们现在要把上面的自定义对象实例化;具体代码是:
    var dog = new Dog();
    //现在我们已经实例化完成;实例化的过程就是把我们上面写的自定义函数;new 给一个新的变量后就完成了;
    //下面我们可以调用这个函数的属性与方法了还是老规矩:
    alert(dog.name);
    alert(dog.age);
    alert(dog.say());
  • 相关阅读:
    设计模式系列
    【ABAP系列】SAP ABAP 关于FUNCTION-POOL的理解
    【MM系列】SAP S/4 HANA 1511的BP角色创建及供应商数据的创建方法
    【ABAP系列】SAP ABAP 动态指针
    【HR系列】SAP HR PA信息类型的创建与增强
    【HANA系列】SAP UI5上传图片 用XSJS存储在HANA中的方法
    【HANA系列】SAP Vora(SAP HANA和Hadoop)简析
    【MM系列】SAP SAP库龄报表逻辑理解
    【HANA系列】SAP HANA XS Administration Tool登录参数设置
    【ABAP系列】SAP 一个完整的SAP的Abap例子(idoc,edi文件的相互转换)
  • 原文地址:https://www.cnblogs.com/ade-Java/p/5888573.html
Copyright © 2011-2022 走看看