【JavaScript】24_面向对象中的方法和构造函数

简介: # 4、方法```html <script> class Person{ name = "孙悟空" // sayHello = function(){ // } // 添加方法的一种方式 sayHello(){ console.log('大家好,我是' + this.name) } // 添加方法(实例方法) 实例方法中this就是当前实例 static test

4、方法

    <script>
        class Person{

            name = "孙悟空"
            // sayHello = function(){
            // } // 添加方法的一种方式

            sayHello(){
                    console.log('大家好,我是' + this.name)
                } // 添加方法(实例方法) 实例方法中this就是当前实例

                static test(){
                    console.log("我是静态方法", this)
                } // 静态方法(类方法) 通过类来调用 静态方法中this指向的是当前类
        }

        const p1 = new Person()
        // console.log(p1)
        Person.test()
        p1.sayHello()
    </script>

5、构造函数

在类中可以添加一个特殊的方法constructor

该方法我们称为构造函数(构造方法)

构造函数会在我们调用类创建对象时执行

可以在构造函数中,为实例属性进行赋值

在构造函数中,this表示当前所创建的对象

    <script>

        //原来的方法
        // class Person{
        //     name="孙悟空" // 当我们在类中直接指定实例属性的值时,
        //                 // 意味着我们创建的所有对象的属性都是这个值
        //     age=18
        //     gender="男"

        //     sayHello(){
        //         console.log(this.name)
        //     }
        // }


        // 创建一个Person的实例
        // const p1 = new Person("孙悟空", 18, "男")
        // const p2 = new Person("猪八戒", 28, "男")
        // const p3 = new Person("沙和尚", 38, "男")

        // console.log(p1)
        // console.log(p2)
        // console.log(p3)
        //==========================================

        class Person {
            constructor(name,age,gender){
                this.name = name
                this.age = age
                this.gender = gender
            }
        }

        const p1 = new Person('孙悟空',14,'男')
        const p2 = new Person('猪八戒',45,'男')
        const p3 = new Person('沙和尚',76,'男')

        console.log(p1)
        console.log(p2)
        console.log(p3)
    </script>
相关文章
|
1月前
|
JavaScript 前端开发 程序员
前端原生Js批量修改页面元素属性的2个方法
原生 Js 的 getElementsByClassName 和 querySelectorAll 都能获取批量的页面元素,但是它们之间有些细微的差别,稍不注意,就很容易弄错!
|
1月前
|
Web App开发 JavaScript 前端开发
如何确保 Math 对象的方法在不同的 JavaScript 环境中具有一致的精度?
【10月更文挑战第29天】通过遵循标准和最佳实践、采用固定精度计算、进行全面的测试与验证、避免隐式类型转换以及持续关注和更新等方法,可以在很大程度上确保Math对象的方法在不同的JavaScript环境中具有一致的精度,从而提高代码的可靠性和可移植性。
|
2月前
|
缓存 监控 前端开发
JavaScript 实现大文件上传的方法
【10月更文挑战第17天】通过以上步骤和方法,我们可以实现较为可靠和高效的大文件上传功能。当然,具体的实现方式还需要根据实际的应用场景和服务器要求进行调整和优化。
|
1月前
|
监控 JavaScript Java
Node.js中内存泄漏的检测方法
检测内存泄漏需要综合运用多种方法,并结合实际的应用场景和代码特点进行分析。及时发现和解决内存泄漏问题,可以提高应用的稳定性和性能,避免潜在的风险和故障。同时,不断学习和掌握内存管理的知识,也是有效预防内存泄漏的重要途径。
134 52
|
1月前
|
JavaScript 前端开发 索引
js中DOM的基础方法
【10月更文挑战第31天】这些DOM基础方法是操作网页文档结构和实现交互效果的重要工具,通过它们可以动态地改变页面的内容、样式和行为,为用户提供丰富的交互体验。
|
1月前
|
缓存 JavaScript UED
js中BOM中的方法
【10月更文挑战第31天】
|
1月前
|
缓存 JavaScript 前端开发
JavaScript 与 DOM 交互的基础及进阶技巧,涵盖 DOM 获取、修改、创建、删除元素的方法,事件处理,性能优化及与其他前端技术的结合,助你构建动态交互的网页应用
本文深入讲解了 JavaScript 与 DOM 交互的基础及进阶技巧,涵盖 DOM 获取、修改、创建、删除元素的方法,事件处理,性能优化及与其他前端技术的结合,助你构建动态交互的网页应用。
49 5
|
1月前
|
JavaScript 前端开发
js中的bind,call,apply方法的区别以及用法
JavaScript中,`bind`、`call`和`apply`均可改变函数的`this`指向并传递参数。其中,`bind`返回一个新函数,不立即执行;`call`和`apply`则立即执行,且`apply`的参数以数组形式传递。三者在改变`this`指向及传参上功能相似,但在执行时机和参数传递方式上有所区别。
28 1
|
1月前
|
JavaScript 前端开发
JS中的构造函数的含义和用法
构造函数是JavaScript中用于创建新对象的特殊函数,通常首字母大写。通过`new`关键字调用构造函数,可以初始化具有相同属性和方法的对象实例,从而实现代码复用。例如,定义一个`Person`构造函数,可以通过传入不同的参数创建多个`Person`对象,每个对象都有自己的属性值。此外,构造函数还可以包含方法,使每个实例都能执行特定的操作。构造函数的静态属性仅能通过构造函数本身访问。ES6引入了`class`语法糖,简化了类的定义和实例化过程。
31 1
|
1月前
|
存储 前端开发 JavaScript
JavaScript常用的内置构造函数
JavaScript提供的内置构造函数在数据处理、对象创建、异常处理和异步操作等方面发挥了重要作用。掌握这些构造函数及其用法,对于开发高效、可靠的JavaScript应用至关重要。通过合理使用这些内置构造函数,开发者可以更好地管理和操作各种类型的数据,提升开发效率和代码质量。
25 1