我的账户
猩码学苑

专注C++开发菁英教育

亲爱的游客,欢迎!

已有账号,请

如尚未注册?

2022-11-25

[复制链接]
yousay! 发表于 2022-11-25 23:38:45 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题
一、今日学习内容
        //1.全局中的this    ----window
        // console.log(this);

      //2.函数中的this---window,谁调用指向谁
    //   function fn(){
    //     console.log(this);
    //   }

    //   fn();
    //   window.fn();

    //   //3.对象方法中的this----对象:  因为是对象来调用的:谁调用,指向谁

//       const  o={
//         age:12,
//         show:function(){
//             console.log(this);
//         }
//       }
//  o.show();
//       //4.构造函数中的this  ---实例对象
//       function Person(age){
//         this.age=age;
//         console.log(this);
//       }

//   new Person(22);

//     //   //5.  定时器的回调中----window
//       window.setTimeout(function(){
//         console.log(this);
//       },0);


    //   //6.事件处理函数---事件源
    //   document.querySelector('#btn').addEventListener('click',function(){
    //     console.log('普通函数',this);
    //   })
    //   document.querySelector('#box').addEventListener('click',function(){
    //     console.log('box',this);
    //   })


    //   //7. 箭头函数----上一级,箭头函数没有自己的this指向,它的this绑定定义函数所处的作用域
    //   document.querySelector('#btn').addEventListener('click',()=>{
    //     console.log('箭头函数',this);
    //   })


// //普通调用
// sum(1,2);

// //修改this指向
// sum.call({name:'王'},1,2);
// sum.apply({name:'抗'},[1,2]);



// 008
function sum(a,b){
    console.log(this,a,b);
}

//把sum函数的this,绑定到一个目标对象上,会执行这个函数的代码,返回一个新的函数
const newSum=sum.bind({name:'李扬敏'});
newSum(10,20);

let r =newSum.bind({name:"王嘉乐"});
r(15,25);


bind call apply的作用以及区别?1. call()和apply()这两个方法都可以修改this的指向这两个方法,都可以调用函数,在调用函数的同时,可以制定this的指向函数名() // 谁调用就指向谁函数名.call(this对象,实参1,实参2)  // 不确定个数的参数,第一个参数是新的this指向,后面的参数按照所需要的实参依次传入函数名.apply(this对象,[实参1,实参2])  // 两个参数,第一个参数是新的this指向,第二个参数为一个数组,数组中传入实参bind()可以把一个函数的this绑定到一个目标对象上,然后返回一个新的函数此后,只要调用这个新函数,新函数的this永远指向了绑定的目标对象




01-原型:
001. 每个函数(特指构造函数),都有一个属性prototype(显式原型)原型,
它的值是一个对象,只要往这个对象中添加方法,这些方法都会被new出来的实例对象共享。
002. 实例对象,都有一个属性`__proto__`隐式原型(新版本浏览器显示[[prototype]]),
等于自己构造函数的显式原型`prototype`
003. 原型对象里面,有一个属性叫constructor,指向构造函数自己本身
02-原型链:
001. 原型prototype本身也是一个实例对象,也有自己的构造函数,
他的构造函数是Object,原型prototype也有属性`__proto__`隐式原型,
指向Object的显式原型prototype
002. Object的显式原型prototype也是实例对象,也有`__proto__`,指向null
003. Object的prototype上有一个属性constructor,指向构造函数Object自己本身
原型的作用:添加共享方法
原型链的作用:实例对象去查找方法,先找自己,自己没有,沿着原型链找,
找到,就使用,直到找到Object为止,找不到就报错。







回复

使用道具 举报

关注0

粉丝0

帖子46

发布主题
大家都在学
课堂讨论
一周热帖排行最近7x24小时热帖
关注我们
专注C++菁英教育

客服电话:18009298968

客服时间:9:00-21:00

猩码学苑 - 专注C++开发菁英教育!( 陕ICP备2025058934号-1 )

版权所有 © 陕西菁英数字科技有限公司 2023-2026