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

JavaScript深入浅出

Bosn 资深架构师
难度中级
时长 5小时28分
学习人数
综合评分9.60
492人评价 查看评价
9.8 内容实用
9.5 简洁易懂
9.5 逻辑清晰
  • 函数表达式
    查看全部
  • 数组、对象的初始化表达式
    查看全部
  • 复合表达式
    查看全部
  • 原始表达式
    查看全部
  • .join() - 数组成员拼接为字符串,原数组不变 .reverse() - 翻转数组成员,修改原数组 .sort() - 按字符串将数组成员排序,修改原数组 .concat() - 连接两个数组,原数组不变 .slice() - 数组切片,原数组不变 .splice() - 数组剪切和在剪切位置插入成员,修改原数组 .forEach() - 遍历数组,原数组不变 .map() - 数组映射,原数组不变 .filter() - 过滤数组成员,原数组不变 .every()/.some() - 数组成员 全都 / 有一个 满足某条件,原数组不变 .reduce()/.reduceRight() - 将数组成员两两操作,最终得到唯一一个值,原数组不变 .indexOf()/lastIndex() - 从左到右/从右到左搜索实参在数组的索引,不存在则返回-1,原数组不变 Array.isArray() - 判断是否为数组,原数组不变
    查看全部
  • new func(); //{b:100} 除非return 的是对象,否则返回的是this. 并且this 会被初始化为一个空对象,这个空对象原型是foo.propotype。即使使用了.bind() 方法,仍然没有指向 .bind() 的实参。
    查看全部
  • 使用.bind() 方法可以预先固定好一些参数,类似于给它们传递了默认值。 剩下某些可变的参数可以在不同的情况下传不同的值。 这样让代码更加地清晰,可以更加方便地重用。
    查看全部
  • .bind() 方法的函数颗粒化: function add(a,b,c){ return a+b+c; } var func = add.bind(undefined,100); // 不需要改变this 的指向,可以传个 undefined 进去,而外的参数100 // 绑定在形参 a 上 func(1,2); // 103 var func2 = func.bind(undefined,200); //func 的a 已绑定了100,所以形参是b,c,此次传的200绑定在b上 func2(10): //310
    查看全部
  • 解释器在解释一个语句时,如果以function开头,就会理解为函数声明。 而前面加一个!可以让解释器理解为函数表达式,这样就可以立即调用了。
    查看全部
  • 不同的调用方法下,this 指向不同的值 module.getX(); //this 指向module,返回 81 var getX = module.getX; getX(); // this 指向 全局变量,返回9 var boundGetX = getX.bind(module); boundGetX(); // this 被 bind 向 module,返回81
    查看全部
  • 严格模式下 foo.apply(null); // undefined, undefined,null foo.apply(undefined); // undefined,undefined,undefined 非严格模式则最后一个(即 this )的返回值都是 window
    查看全部
  • .call() .apply() 方法
    查看全部
  • configurable标签有两个影响:1,属性是否可以被删除;2,属性的属性标签可否被重新定义
    查看全部
  • foo.name - 函数名 foo.length - 形参个数 arguments.length - 实参个数 arguments是一个类数组的对象,其原型并不是 Array.propotype,并没有join、slice等数组对象的方法 如果对应的参数没有传进来,arguments与参数并没有绑定关系 严格模式下,arguments 与 参数没有绑定关系
    查看全部
  • var g = f.bind({a:"23333"}); // 直接在 f 上绑定了一个对象,并赋值给 g,可以实现绑定一次,重复使用 g(): // "23333" var o = {a:37,f:f,g:g}; o.f(); // 37 o.g() // "23333",使用bind 之后,即使把 a 传进去,使用的仍然是bind 时的值
    查看全部
    0 采集 收起 来源:[JavaScript]this

    2018-03-22

举报

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

微信扫码,参与3人拼团

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

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