创建元素和对象的几种方法

创建元素的3种方法



1、document.write()

    <div>
        明月几时有,把酒问青天!
    </div>
    <button id="btn">点击</button>

    <script>
        var btn = document.getElementById(‘btn‘)
        btn.onclick = function () {
            document.write(‘水调歌头‘)
        }
    </script>

缺陷:如果是在页面加载完毕后,此时通过这种方式创建元素,那么页面上存在的所有的内容全部覆盖

2、obj.innerHTML

    <div id="box">
        <span>明月几时有</span>
    </div>
    <button id="btn">点击</button>

    <script>
        var btn = document.getElementById(‘btn‘)
        var box = document.getElementById(‘box‘)

        btn.onclick = function () {
            box.innerHTML = ‘<p>水调歌头</p>‘
        }
    </script>

3、document.createElement

    <div id="box">
        <span>明月几时有</span>
    </div>
    <button id="btn">点击添加</button>

    <script>
        var btn = document.getElementById(‘btn‘)
        var box = document.getElementById(‘box‘)

        btn.onclick = function () {
            var p = document.createElement(‘p‘)
            p.innerHTML = ‘把酒问青天‘
            box.appendChild(p)
        }
    </script>

创建对象的4种方法



1、调用系统的构造函数创建对象

        var dog=new Object();
        dog.name="小白";
        dog.age=4;
        dog.weight=50;
        dog.eat=function(){
            //在当前这个对象的方法中是可以访问当前这个对象的属性的值
            console.log("喜欢吃猪肉铺!,今年"+this.age+"岁");
        }
        dog.walk=function(){
            //在当前这个对象的方法中是可以访问当前这个对象的属性的值
            console.log(this.name+this.weight+"斤,"+"喜欢跳着走路!");
        }

        dog.eat();
        dog.walk();

        // 检测当前对象是不是属于Object类型
        console.log(dog instanceof Object);

对象有特征(属性)和行为(方法)

2、字面量创建对象

        var dog={
            name:"小白",
            age:4,
            food:"鸡腿",
            say:function(){
                console.log("狗的名字叫"+this.name+"\n今年"+this.age);
            },
            eat:function(){
                console.log("最喜欢吃的是"+this.food);
            }
        };
        dog.say();
        dog.eat();

字面量创建对象缺陷:一次性对象,无法传值

3、工厂函数创建对象

        function person(name,age){
            var dog=new Object();//创建对象
            //添加属性
            dog.name=name;
            dog.age=age;
            //添加方法
            dog.information=function(){
                console.log("My dog‘s name is "+this.name+",今年"+this.age+"岁");
            }
            // 返回值为对象
            return dog;
        }

        // 创建输出对象
        var dog1=person("小白",4);
        dog1.information();

        var dog2=person("仔仔",2);
        dog2.information();

4、自定义构造函数创建对象

  自定义构造函数创建对象,自己定义一个构造函数(对象类型),然后创建对象

  函数和构造函数的区别;首字母是不是大写

        // 创建一个构造函数
        function Dog(name,age,weight){
            this.name=name;
            this.age=age;
            this.weight=weight;
            this.say=function(){
                console.log("我的名字是"+this.name+"\n我的年龄是"+this.age+"\n我的体重是"+this.weight);
            }
        }
        // 创建对象——实例化一个对象。并初始化
        var dog1=new Dog("小白",4,30);
        dog1.say();

        var dog2=new Dog("崽崽",2,15);
        dog2.say();

        console.log(dog1 instanceof Dog);
        console.log(dog2 instanceof Dog);
自定义构造函数的过程
1. 在内存中开辟(申请一块空闲的空间)空间,存储创建的新的对象
2. 把this设置为当前的对象
3. 设置对象的属性和方法的值
4. 把this这个对象返回

原文地址:https://www.cnblogs.com/dawnwill/p/9853566.html

时间: 2024-07-30 12:38:20

创建元素和对象的几种方法的相关文章

像素的存储方法、显式创建Mat对象的七种方法

一.像素的存储方法: 存储像素值需要指定颜色空间和数据类型.其中,颜色空间是指针对一个给定的颜色,如何组合颜色元素以对其编码. 最简单的颜色空间要属灰度级空间,只处理黑色和白色,对他们进行组合便可以产生不同程度的灰色. 对于彩色方式则有更多种类的颜色空间,但不论哪种方式都是把颜色分成三个或者四个基元素,通过组合基元素可以产 生所有的颜色.RGB颜色空间是最常见的一种颜色空间,这归功于它也是人眼内部构成颜色的方式.它的基色是红色.绿色 和蓝色,有时为了表明透明颜色也会加入第四个元素alpha. 颜

iOS:创建单例对象的两种方式

单例模式:创建单例对象的两种方式 方式一:iOS4版本之前 static SingleClassManager *singleManager = nil; +(SingleClassManager*)sharedManager { @synchronized(self)  //同步加锁,在多线程中使用,可以使线程安全 { if(singleManager == nil) { singleManager = [[SingleClassManager alloc]init]; } } return

Windows 10 应用创建模糊背景窗口的三种方法

原文 Windows 10 应用创建模糊背景窗口的三种方法 现代的操作系统中创建一张图片的高斯模糊效果非常容易,不过如果要在窗口中获得模糊支持就需要操作系统的原生支持了.iOS/Mac 和 Windows 系统都对此有支持. 本文将介绍三种创建模糊背景窗口的方法.有人可能喜欢称之为毛玻璃窗口.亚克力窗口. This post is written in multiple languages. Please select yours: 最早我是在 StackOverflow 上回答一位网友的提问时

让一个元素垂直水平居中的三种方法

第一种方法: div.box{ weight:200px; height:400px; <!--把元素变成定位元素--> position:absolute; <!--设置元素的定位位置,距离上.左都为50%--> left:50%; top:50%; <!--设置元素的左外边距.上外边距为宽高的负1/2--> margin-left:-100px; margin-top:-200px; } *兼容性好;缺点:必须知道元素的宽高 ------------- 第二种方法:

利用JavaScript如何创建一个table表格[第2种方法]

创建一个五行五列的表格(使用循环) <style> td{border:1px solid #ccc;} </style> <script> window.onload=function(){ var oTable=document.createElement("table"); var row; var cell; for(var i=0;i<5;i++){ row=document.createElement("tr")

让一个元素垂直水平居中的三种方法【转】

第一种方法: div.box{ weight:200px; height:400px; <!--把元素变成定位元素--> position:absolute; <!--设置元素的定位位置,距离上.左都为50%--> left:50%; top:50%; <!--设置元素的左外边距.上外边距为宽高的负1/2--> margin-left:-100px; margin-top:-200px; } *兼容性好;缺点:必须知道元素的宽高 ------------- 第二种方法:

javascript生成对象的三种方法

/** js生成对象的三种方法*/ // 1.通过new Object,然后添加属性 示例如下: var people1 = new Object(); people1.name = 'xiaohailong01'; people1.age = 31; alert("name:" + people1.name + ", age:" + people1.age); // 2.直接接收json数据生成 var people2 = { name : 'xiaohailon

(转载)Java中如何遍历Map对象的4种方法

在Java中如何遍历Map对象 How to Iterate Over a Map in Java 在java中遍历Map有不少的方法.我们看一下最常用的方法及其优缺点. 既然java中的所有map都实现了Map接口,以下方法适用于任何map实现(HashMap, TreeMap, LinkedHashMap, Hashtable, 等等) 方法一 在for-each循环中使用entries来遍历 这是最常见的并且在大多数情况下也是最可取的遍历方式.在键值都需要时使用. Map<Integer,

BAP中创建动态内表的三种方法(转载)

BAP中创建动态内表的三种方法 第一种: 如果我们需要的动态内表字段或者动态工作区和数据字典中的类型一致,可以直接使用CREATE DATA生成,当然也可以是自定义类型. 比如要产生和数据表MARA结构一致的动态内表: DATA : DY_TABLE TYPE REF TO DATA, WA_LINE TYPE REF TO DATA. FIELD-SYMBOLS: <DYN_TABLE> TYPE STANDARD TABLE . CREATE DATA DY_TABLE TYPE TABL