JavaScript---网络编程(4)-Date、Math、Global和自定义对象-2

简介: JavaScript---网络编程(4)-Date、Math、Global和自定义对象

自定义对象-for-in语句

用js来描述我们自己的对象,如类似java当中的Person类

这个功能很强大的,function中可以定义属性和方法!类似Java中class。

演示代码:

<html>
    <head>
        <title>自定义对象的用法演示</title>
        <meta http-equiv="content-type" content="text/html; charset=UTF-8">
    </head>
    <body>
        <script type="text/javascript" src="out.js">
        </script>
        <!-- 用js来描述我们自己的对象,如类似java当中的Person类 -->
        <script type="text/javascript">
            /*  js是基于对象的,如果要描述对象,那么可以用function。因为js中的
             function功能和java中的类(模板) 本质上是差不多的---里面可以添加变量,也可以添加自定义函数
             */
            function Person(){
                //alert("Person的构造方法...");
            }
            var p = new Person();
            //给对象添加属性,直接采用“p.属性名=”的形式赋值就行---如果没有则是添加,如果有则是修改
            //※※方式1:在对象外面添加属性和方法
            p.name = "Jack";
            p.age = 23;
            //alert(p.name+","+p.age);
            //给对象添加函数
            p.info = function(){//相当于toString()
                return this.name + "," + this.age;
            };
            println("p的信息:" + p.info());
        </script>
        <script type="text/javascript">
            var obj = new Object();
            //※※方式1:在对象外面添加属性和方法   
            //1给对象添加属性  
            obj.name = "god";
            obj.age = 10000;
            //2给对象添加属性
            obj.toString = function(){
                return this.name + "," + this.age;
            }
            println(obj);
        </script>
        <!--
        注意:前面用“对象.prototype.属性或函数名=***”的形式,更改的是原型对象
        而本例用 “对象.属性或函数名=***”的形式,更改的是当前对象(原型对象的克隆体)
        -->
        <script type="text/javascript">
            //js自定义对象的构造器+属性+方法
            function Person(name, age){
                //※※方式2:在函数对象里面添加属性和方法
                this.name = name;
                this.age = age;
                this.toString = function(){
                    return this.name + "," + this.age;
                };
                this.setName = function(name){
                    this.name = name;
                };
                this.getName = function(){
                    return this.name;
                };
            }
            var p2 = new Person("Tom", 22);
            println("p2.name=" + p2.name + ", p2.age=" + p2.age);
            println("p2= " + p2);
            p2.setName("Rose");
            println("p2=" + p2);
            println("p2.getName=" + p2.getName());
        </script>
        <script type="text/javascript">
            println("<hr/>");
             //用for...in语句操作自定义对象
             for( var x in p2){//x是函数中的成员变量与成员方法的名称
                println("x="+x+"-----"+p2[x]);// p2[x]就是valeOf(x)
             }
        </script>
    </body>
</html>

360浏览器8.1 演示结果:

image.png

目录
相关文章
|
3月前
|
JavaScript 前端开发
JavaScript Date(日期) 对象
JavaScript Date(日期) 对象
55 2
|
5月前
|
JavaScript 算法 前端开发
采招网JS逆向:基于AES解密网络数据
采招网JS逆向:基于AES解密网络数据
87 0
|
3月前
|
Docker 容器
docker中创建自定义网络
【10月更文挑战第7天】
74 6
|
3月前
|
安全 NoSQL Redis
Docker自定义网络
Docker自定义网络
47 11
|
3月前
|
JavaScript 前端开发
JavaScript Date
【10月更文挑战第06天】
64 18
|
3月前
|
Docker 容器
docker中自定义网络
【10月更文挑战第5天】
50 3
|
2月前
|
数据采集 JavaScript 前端开发
JavaScript重定向对网络爬虫的影响及处理
JavaScript重定向对网络爬虫的影响及处理
|
4月前
|
Shell Linux Docker
自定义Docker网络
这篇文章介绍了如何使用Docker命令自定义网络,并通过创建和配置网络来实现容器间的通信。
47 6
自定义Docker网络
|
3月前
|
存储 资源调度 JavaScript
vue.js【网络请求和状态管理】
vue.js【网络请求和状态管理】
|
5月前
|
JavaScript 前端开发
JavaScript基础&实战(5)js中的数组、forEach遍历、Date对象、Math、String对象
这篇文章介绍了JavaScript中的数组、Date对象、Math对象以及包装类(String、Number、Boolean),并详细讲解了数组的创建、方法(如forEach、push、pop、unshift、slice、splice)和遍历操作,以及工厂方法创建对象和原型对象的概念。
JavaScript基础&实战(5)js中的数组、forEach遍历、Date对象、Math、String对象