web前端-JavaScript创建对象的四种方法总结

简介: 文章目录1.通过表达式创建2.使用new关键字3.使用工厂模式4.使用构造函数四种方法详解传送锚点

1.通过表达式创建

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script>
        //1.通过表达式创建对象
        var per1 = {
            name:'苏凉',
            age:21,
            gender:'男',
            sayName:function(){
                console.log(this.name)
            }
        };
        console.log(per1);
        per1.sayName();
    </script>
</head>
<body>
</body>
</html>

2.使用new关键字

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script>
        //2.使用new关键字
        var per2 = new Object();
        per2.name = '苏凉';
        per2.age = 21;
        per2.gender = '男';
        per2.sayName = function(){
            console.log(this.name)
        }
        console.log(per2);
        per2.sayName();
    </script>
</head>
<body>
</body>
</html>

3.使用工厂模式

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script>
        //3.使用工厂模式创建
        function person(name,age,gender){
            var obj = new Object();
            obj.name = name;
            obj.age = age;
            obj.gender = gender;
            obj.sayName = function(){
                console.log(this.name)
            }
            return obj;
        }
        var per3 = person('苏凉',21,'男');
        console.log(per3);
        per3.sayName();
    </script>
</head>
<body>
</body>
</html>

4.使用构造函数

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script>
        //4.使用构造函数创建
        function Person(name, age, gender){
            this.name = name ;
            this.age = age ;
            this.gender = gender;
        }
        Person.prototype.sayName = function(){
            console.log(this.name)
        }
        var per4 = new Person('苏凉',21,'男');
        console.log(per4);
        per4.sayName();
    </script>
</head>
<body>
</body>
</html>

image.png


相关文章
|
JavaScript 前端开发 API
JavaScript中字符串的API使用总结
JavaScript中字符串的API使用总结
|
JSON 编解码 JavaScript
【笔记】js URL编码解析总结
js URL编码解析总结
238 0
|
JavaScript 前端开发 API
JavaScript数组API总结
JavaScript数组API总结
JavaScript数组API总结
|
前端开发
前端总结:块级元素和行内元素及其区别
前端总结:块级元素和行内元素及其区别
91 0
前端总结:块级元素和行内元素及其区别
|
JavaScript 前端开发
JavaScript总结:typeof与instanceof的区别,及Object.prototype.toString()方法
JavaScript总结:typeof与instanceof的区别,及Object.prototype.toString()方法
157 0
JavaScript总结:typeof与instanceof的区别,及Object.prototype.toString()方法
|
JavaScript 前端开发
JavaScript总结:let变量(弥补var的缺陷)
JavaScript总结:let变量(弥补var的缺陷)
117 0
JavaScript总结:let变量(弥补var的缺陷)
|
JavaScript 前端开发
JavaScript总结: javascript中使用var定义变量的变量提升问题
JavaScript总结: javascript中使用var定义变量的变量提升问题
102 0
JavaScript总结: javascript中使用var定义变量的变量提升问题
|
存储 前端开发 JavaScript
JavaScript总结:关于堆栈、队列中push()、pop()、shift()、unshift()使用方法的理解
JavaScript总结:关于堆栈、队列中push()、pop()、shift()、unshift()使用方法的理解
197 0
JavaScript总结:关于堆栈、队列中push()、pop()、shift()、unshift()使用方法的理解
|
前端开发 JavaScript 容器