为了账号安全,请及时绑定邮箱和手机立即绑定

JavaScript深入浅出

Bosn 资深架构师
难度中级
时长 5小时28分
学习人数
综合评分9.60
492人评价 查看评价
9.8 内容实用
9.5 简洁易懂
9.5 逻辑清晰
  • 非严格模式下,同一个属性可以定义多个,后面的覆盖前面的。

    查看全部
  • - 字符串的剑法运算

    + 字符串之间的拼接

    查看全部
  • 属性标签的限制

    查看全部
  • 1.5类型转换
    查看全部
  • 1.5类型判断
    查看全部
  • bind的柯里化功能的实际应用场景

    可能在不同的页面我们需要获取不同的配置,但个别页面的配置又非常相似,比方说A、B、C、D四个页面,都有颜色、大小、其他一些配置信息,但A和B两个页面但颜色和大小都是“#CC0000”和“1024*768”,只有这个其他是不一样但配置。所以我们可以通过bind的柯里化功能,设置一个默认的配置(colors="#CC0000",size="1024*768"),在A页面只要传入最后一个参数defaultConfig("123"),在B页面只要传入最后一个参数defaultConfig("456")


    查看全部
  • bind的柯里化功能

    声明函数add,形参a、b、c,返回三个数之和

    var func=add.bind(undefined,100)

     undefined:这里不需要改变this指向,所以默认传了undefined

    100:赋值给a,a=100

    所以func(1,2)这里相当于将1赋值给了b,2赋值给了c,因此func(1,2)=100+1+2=103


    var func2=func.bind(undefined,200)

    undefined:未改变this指向

    200:赋值给b(因为a已被赋值),b=200

    所以func2(10)这里相当于将10赋值给了c,因此func2(10)=100+200+10=310

    查看全部
  • 声明一个函数foo,可以通过foo.length获取形参个数(x、y、z三个形参),foo.name获取函数名,arguments.length获取实参个数(这里实参为x=1,y=2两个实参)

    若通过arguments[0]进行赋值操作,此时garguments[0]就是实参x,因此也同样会对x值进行修改

    需要注意的是,这里未传入z参数,通过arguments[2]去访问的时候相当于没有绑定关系,此时对z进行赋值是不会生效的;另外还要注意严格模式下与一般模式下的区别


    查看全部
  • call/apply方法


    add.call(o,5,7)  // o作为this 5赋值给参数c 7赋值给参数d

    所以add.call(o,5,7)=this.a+this.b+c+d=1+3+5+7=16


    apply和call的区别在于传参的不同,call的参数扁平化,apply的参数以数组的形式传递

    add.apply(o,[10,20])  //o作为this  10赋值给参数c  20赋值给参数d

    所以add.apply(o,[10,20])=this.a+this.b+c+d=1+3+10+20=34

    查看全部
    0 采集 收起 来源:[JavaScript]this

    2020-04-03

  • 通过构造器创建对象o,此时this指向的是MyClass.prototype的一个空对象,调用o.a,返回的是MyClass.prototype.a,又因为MyClass中没有return,默认return的是this,即o.a=this.a=37

    同样的因为C2中有返回值return(对象a),那么调用o.a时相当于对象a中a属性,o.a=38

    查看全部
    0 采集 收起 来源:[JavaScript]this

    2020-04-03

  • 对象o中有个属性f,f是一个函数,那么这个函数f就是对象o的对象方法;

    通过Object.create()创建了对象p,此时对象p原型会指向对象o;

    对对象p上创建两个属性a和b,其值分别为1和4;

    此时通过p.f()调用时,调用的是p原型上对象o的对象方法,此处this指向的是对象p(this.a=p.a,this.b=p.b)

    查看全部
    0 采集 收起 来源:[JavaScript]this

    2020-04-03

  • 若函数作为对象的属性(即对象方法),作为对象方法去调用(o.f())时,此时this指向的是对象o;

    若直接调用independent(),此时this指向的是window。但若通过o.f()作为对象方法去调用,this指向的又是对象o

    查看全部
    0 采集 收起 来源:[JavaScript]this

    2020-04-03

  • 一般函数的this在浏览器指向的是window。直接调用f1(),返回是this指向的就是window;但若在严格模式下,直接调用f2()返回的this会指向undefined

    查看全部
    0 采集 收起 来源:[JavaScript]this

    2020-04-03

  • 全局作用域的this在浏览器指向的window。

    例如:this.document===window.document  //true

            this.a=37 相当于 window.a=37

    查看全部
    0 采集 收起 来源:[JavaScript]this

    2020-04-03

  • o.g();  {a:'test'}.f();   返回对象{a:'test'}中的属性a的值 即test

    查看全部
    0 采集 收起 来源:[JavaScript]this

    2020-04-02

举报

0/150
提交
取消
课程须知
1.您至少学习了本站“JS入门”、“JS进阶”两门基础课程。 2.如您具备一定实践经验对学习有很大帮助。 3.如您没有脚本编程开发经验,学习过程有可能会受挫部分内容或示例代码,请“暂时略过不懂的部分,后面章节会阐述”,当然想透彻学习,还需大量实践来体会知识的内涵。
老师告诉你能学到什么?
结合实例,深入解析以下知识内容: 1. 数据类型、表达式和运算符、语句; 2. 对象、数组、变量、函数; 3. this、闭包和作用域; 4. OOP; 5. 正则与模式匹配。

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!