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

目录
相关文章
|
21小时前
|
Web App开发 JavaScript 前端开发
JavaScript 中的 Range 和 Selection 对象
JavaScript 中的 `Range` 和 `Selection` 对象用于处理文本选择。`Range` 表示文档中选定的区域,而 `Selection` 表示用户选择的文本或光标位置。`Range` 可以创建并设置于任何元素或文本,具有多个属性(如 `startContainer`, `endContainer`, `collapsed`)和方法(如 `cloneContents`, `deleteContents`)。`Selection` 提供了获取和操作用户选择的方法,如 `anchorNode`, `focusNode` 和 `addRange`。两者在所有现代浏览器中基本兼容。
5 1
JavaScript 中的 Range 和 Selection 对象
|
2天前
|
JSON JavaScript 安全
向js发送含有NSDictionary对象或NSArray对象的消息
向js发送含有NSDictionary对象或NSArray对象的消息
10 0
|
3天前
|
前端开发 JavaScript
前端 JS 经典:判断对象属性是否存在
前端 JS 经典:判断对象属性是否存在
7 0
|
6天前
|
JSON 前端开发 JavaScript
前端 JS 经典:JSON 对象
前端 JS 经典:JSON 对象
10 0
|
6天前
|
前端开发 JavaScript
前端 JS 经典:Math 常用方法汇总
前端 JS 经典:Math 常用方法汇总
10 0
|
6天前
|
前端开发 JavaScript
前端 js 经典:原型对象和原型链
前端 js 经典:原型对象和原型链
16 1
|
6天前
|
JavaScript 前端开发 流计算
使用JavaScript 中的Math对象和勾股定理公式,计算鼠标的位置与页面图片中心点的距离,根据距离对页面上的图片进行放大或缩小处理
使用JavaScript 中的Math对象和勾股定理公式,计算鼠标的位置与页面图片中心点的距离,根据距离对页面上的图片进行放大或缩小处理
|
7天前
|
JSON JavaScript 前端开发
js将json字符串还原为json对象
【5月更文挑战第14天】js将json字符串还原为json对象
30 1
|
7天前
|
设计模式 存储 消息中间件
JavaScript观察者模式:实现对象间的事件通信!
JavaScript观察者模式:实现对象间的事件通信!
|
7天前
|
设计模式 JavaScript 前端开发
JavaScript原型模式:实现对象共享属性和方法!
JavaScript原型模式:实现对象共享属性和方法!