首页 > Web开发 > 详细

js构造函数,成员函数详解

时间:2019-05-27 13:47:51      阅读:89      评论:0      收藏:0      [点我收藏+]

对象之成员函数:

对象不仅只有属性,还要有行为(函数)

技术分享图片
<!DOCTYPE html>
<html>

    <head>
        <meta charset="UTF-8">
        <title></title>
        <script language="JavaScript" type="text/javascript">
            function Person(name, age) {
                //传递实参初始化属性
                this.name = name;
                this.age = age;
                //                这就是一个公开的函数,这样的话浪费资源
                this.show = function() {
                    document.write("名字=" + this.name + "&nbsp;&nbsp;&nbsp;" + "年龄=" + this.age + "<br/>");
                }
                this.add = function() {
                    var res = 0;
                    for(var i = 1; i <= 1000; i++) {
                        res += i;
                    }
                    return res;
                }
            }

            var p1 = new Person("宋江", 90);
            p1.show();
            var p2 = new Person("李逵", 78);
            p2.show();
            document.write("res=" + p1.add());
        </script>
    </head>

    <body>
    </body>

</html>
View Code
技术分享图片
<!DOCTYPE html>
<html>

    <head>
        <meta charset="UTF-8">
        <title></title>
        <script language="JavaScript" type="text/javascript">
            function Person(name, age) {
                //传递实参初始化属性
                this.name = name;
                this.age = age;
                //                这就是一个公开的函数,这样的话浪费资源
                this.add = function() {
                    var res = 0;
                    for(var i = 1; i <= 1000; i++) {
                        res += i;
                    }
                    return res;
                }
            }
            function show(){
                    document.write("名字=" + this.name + "&nbsp;&nbsp;&nbsp;" + "年龄=" + this.age + "<br/>");
                }
            var p1 = new Person("宋江", 90);
            //函数功能传递
            p1.abc=show;
            p1.abc();
            //调用二
            p1.bcd=function show1(){
                document.write("名字"+this.name);
            }
            p1.bcd();
        </script>
    </head>

    <body>
    </body>

</html>
两种调用

 技术分享图片

技术分享图片
<!DOCTYPE html>
<html>

    <head>
        <meta charset="UTF-8">
        <title></title>
        <script language="JavaScript" type="text/javascript">
            function Person(){
                this.name="abc";
                this.age=900;
                this.abc=function(v1,v2){
                    document.write(this.name+" "+this.age+" "+v1+" "+v2+"<br/>");
                }
            }
            var p1=new Person();
            p1.abc();
            p1.abc("背景","天津");
            var p2=new Person();
            p2.abc();
            p2.abc("南京","东京");
        </script>
    </head>

    <body>
    </body>

</html>
View Code

使用prototype去绑定一个函数给shout,直接绑定给类,不需要创建对象时创建新的函数属性

技术分享图片

技术分享图片
<!DOCTYPE html>
<html>

    <head>
        <meta charset="UTF-8">
        <title></title>
        <script language="JavaScript" type="text/javascript">
            function dog() {}
            var dog1 = new dog();
            dog.prototype.shout = function() {
                document.write("小狗" + "<br/>");
            }
            dog1.shout();
            var dog2 = new dog();
            dog2.shout();
            //判定是否为同一个函数
            document.write(dog1.shout == dog2.shout);
        </script>
    </head>

    <body>
    </body>

</html>
View Code

通过==符号可以判断地址是否相等

 

js构造函数,成员函数详解

原文:https://www.cnblogs.com/helloworld2019/p/10930137.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!