• js对象实例化方式


    <!doctype html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Object</title>
    </head>
    <body>
    <h1>创建对象常见的三种方式</h1>
    </body>
    <script>
        window.onload=function(){
            //工厂模式
            function oj(){
                var lio=new Object();
                lio.name='lio';
                lio.attr='男';
                lio.hobby=function(){
                    var li=document.createElement("p");
                    var txt=document.createTextNode("三妹");
                    li.appendChild(txt);
                    document.body.appendChild(li);
                };
                return lio;
            }
            var person=oj();
            //alert(person.name);
     
            //构造函数模式
            function oj2(name,age){
                this.name=name;
                this.age=age;
                this.hobby=function(){
                    var li=document.createElement("p");
                    var txt=document.createTextNode("三妹");
                    li.appendChild(txt);
                    document.body.appendChild(li);
                }
            }
            var person2=new oj2('三妹',123);
            person2.hobby();
            alert(person2.name);
     
            //原型模式
            function oj3(){
                //this.name='lio';
            }
            oj3.prototype.name='lio';
            oj3.prototype.love= function (name) {
                alert("爱"+name);
            };
            var person3=new oj3();
            //检测是在实例中还是在原型中
            alert(person3.hasOwnProperty("name"));
            alert(person3.hasOwnProperty("rename"));
            person3.love('三妹');
     
            //混合模式
            function oj4(age) {
                this.age=age;
                this.rename='aaaa';
            };
            oj4.prototype={
                constructor:oj4,
                name:'lio',
                age:123,
                love: function (name) {
                    alert(name+"爱三妹");
                }
            };
            var person4=new oj4(18);
            alert(person4.hasOwnProperty("age"));//true
            person4.love('lio');
     
        }
    </script>
    </html>

    来源:https://blog.csdn.net/theowl/article/details/47361175

    工欲善其事 必先利其器
  • 相关阅读:
    VIM常用操作
    计算机之二进制基础
    交换机安全学习笔记 第六章 IPV4 ARP攻击
    交换机安全学习笔记 第八章 针对POE的攻击
    交换机安全学习笔记 第九~十章 HSRP VRRP
    CSRF-DVWA_1.9-笔记
    命令注入-笔记
    暴力破解-H3C路由器-MSR900
    暴力破解-DVWA_1.9-笔记
    DVWA、 DSVM 环境搭建简述
  • 原文地址:https://www.cnblogs.com/fengyouqi/p/9555420.html
Copyright © 2020-2023  润新知