JavaScript 盲点学习

本文介绍了JavaScript中const的内存特性,指出常量特别是对复杂数据类型的影响,以及数组和对象的操作,同时涵盖了扩展运算符、call、bind、apply和constructor等函数用法及其作用。
摘要由CSDN通过智能技术生成

为什么大家在项目中那么喜欢使用const?

const 定义的常量只是内存地址,普通的数据类型如:字符串,布尔值,数值等简单数据类型不可变,但复杂的数据类型如数组和对象等,内存地址固定,但里面的键值对的值可以改变;const定义常量节省内存,程序运行加快

事件

    <button id="a">按钮a</button>
    <button id="b">按钮b</button>
    <button id="c" onclick="btnC()">按钮c</button>

    <script>
        //按钮a
        const btnA = document.getElementById('a')
        btnA.addEventListener('click', () => {
            alert('按钮a')
        })
        //按钮b
        const btnB = document.getElementById('b')
        btnB.onclick = () => {
            alert('按钮b')
        }
        //按钮c
        function btnC() {
            alert('按钮c')

        }
    </script>

扩展运算符

        let arr = [1, 2, 3, 4, 5, 6]
        console.log(...arr);//1 2 3 4 5 6
        console.log(arr);//[1, 2, 3, 4, 5, 6]

        let arr2 = [...arr, ...arr]
        console.log(arr2);//[1, 2, 3, 4, 5, 6,1,2,3,4,5,6]

        function sum(...numbers) {
            console.log(numbers); //[1, 2, 3, 4, 5, 6]
            return numbers.reduce((preValue, currentValue) => {
                return preValue + currentValue
            })
        }
        let n = sum(1, 2, 3, 4, 5, 6)
        console.log('参数的值', n);//21

        
        let person = {name: 'tom', age: 123}//不能展开对象哦
        let person2 = {...person} //相当于复制对象 
        person2.name = 'jia'
        console.log(person);
        console.log(person2);

call、bind、apply

用来改变函数的this指向

  • apply  接收一个数组作为参数
  • call  接收一个一个参数传入
  • bind      返回一个新的函数,不会立即执行该函数,需要手动调用。

constructor

是JS中的关键字,表示对象的构造函数。

  • 在一个类中,constructor方法 在创建对象实例时被调用,用于初始化对象的属性和方法。
  •  在原型链中,prototype.constructor指向原型对象的构造函数

  • 7
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值