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

JavaScript深入浅出

Bosn 资深架构师
难度中级
时长 5小时28分
学习人数
综合评分9.60
492人评价 查看评价
9.8 内容实用
9.5 简洁易懂
9.5 逻辑清晰
  • javascript没有块级作用域
    查看全部
  • /***使用***/ /正则表达式/ 或 new RegExp("正则表达式") /***基本元素***/ . 任意字符(除换行符) \d 数字(0-9) \D 非\d \w 数字(0-9)or字母a-z(包括大小写)or下划线 \W 非\w \s 空格符,TAB,换行符,换页符 \S 非\S \t \r \n \v \f tab 回车 换行 垂直制表符 换页符 /***限制条件***/ [...] 字符范围以内 [^...] 字符范围以外 ^ 行首(匹配位置必须在行首)//^la $ 行尾 //la$ \b 零边界(例:\bla (o lapa)为true,(olapa)为false) \B 非\b /***特殊转移符***/ \ \后面的第一个字符会当成普通的文本字符 /***分组***/ (...) 一个分组 \n n是数字,配合()使用,表示第n个分组的内容,\0表示整个表达式 (?:...) 有?:的分组表示不记录在\n时会被忽略 /***重复***/ 贪婪算法(匹配尽可能多次) x* *前字符重复>=0次 x+ *前字符重复>0次 非贪婪算法(匹配尽可能少次) x*? 同x* x+? 同x+ x? 出现0 or 1次 x/y x或者y x{n}x{n,}x{n,m} 重复 n >=n >=n而<=m 次 /***3个flag***/ global 匹配所有,不使用匹配到第一个就会停 ignoreCase 不区分大小写 multiline 按行检索 例:/bulabula/gim RegExp("bulabula","gim") /***正则属性和方法***/ /.../.global /.../.ignoreCase /.../.multiline /.../.source //正则内容 /.../.exec('字符串'); //返还正则在字符串中匹配到的字符 /.../.test('字符串'); //正则在字符串中是否匹配成功 /.../.toString(); //返还正则表达式 x.compole("y") //将x中的正则替换为y
    查看全部
  • 1.全局的this(浏览器) 2.一般函数的this(浏览器) 3.作为对象方法的函数的this //(this指向对象) 4.对象原型链上的this //this指向对象本身 5.get/set方法中的this //指向对象本身 6.构造器中的this function yy(){ this.a = 33;} var xx = new yy() // this 会指向空对象,并且空对象的原型指向一样yy();的prototype属性; 当没有return或者return基本类型时,会返回this。如果是对象,则返回该对象。 7.apply,call a.call(b,xx,xx) 中this指向当前的作用域.这里a方法在b作用域中执行this指向b; 8.var g = f.bind({a:"test"}); //this指向bind的参数对象 {a:"test"}
    查看全部
    0 采集 收起 来源:小结

    2018-03-22

  • 函数解析有代码初始化阶段和代码执行阶段 代码初始化按照如下顺序填充: 1.函数参数(若未传入,初始化该参数为undefined) 2.函数声明(若发生命名冲突,会覆盖)——函数声明提升的原因 3.变量声明(初始化变量值undefined,若发生命名冲突,会忽略) 在全局作用域下,函数声明和变量声明会被前置到全局执行上下文(执行环境)中。 在浏览器环境下,当this表示全局对象时,this就指window对象 匿名函数,加上括号就变成了函数表达式,再加个括号,就变成了立即执行函数... 同一个函数,被调用多次的话,每次调用函数时都会有独立的执行上下文,每个执行上下文环境都会记录各自的变量参数等信息。
    查看全部
  • 数据类型
    查看全部
  • this
    查看全部
    0 采集 收起 来源:小结

    2015-08-25

  • 代码执行阶段
    查看全部
  • bind的用法
    查看全部
  • 1,参数个数确定: argument.length //实参个数 foo.length; 或者argument.callee.length; //形参个数 2,arguments是类数组对象,没有join等方法当时能像数组一样读取和修改参数,未传参数会失去绑定关系。 严格模式下,arguments会成为一个副本所以不能修改传入的参数 3.bind方法(需要IE9+)作用:1.绑定this;2.颗粒化(预设部分形参). var xxx =func.bind({a:1,b:2}); // 改变this指向,this指向bind绑定参数内的对象 var xxx =func.bind({null,a,b); xxx(c); //函数科里化 这里执行xxx(a,b,c);实现了函数的分开传递 4.bind方法模拟……………………
    查看全部
  • === 先定义,判断类型
    查看全部
  • 分组分组
    查看全部
  • 正则基础 1 . 任意字符 2 \d 数字0-9 3 \D 不是0-9的字符 4 \w 数字0-9,或字母a-z及A-Z,或下划线 5 \W 非\w 6 \s 空格,TAB,换页符,换行符 7 \S 非\s 8 \t \r \n \v \f tab,回车,换行,垂直制表符,换页符
    查看全部
  • 正则基础
    查看全部
  • RegExp方法 /abc/.test("abcaa"); //返回true /abc/.exec("abcaa"); //返回abc /abc/.toString(); //返回/abc/
    查看全部
  • 先实现原型链的继承,再扩展。 因为继承的时候会改写prototype属性,如果后继承可能会覆盖掉之前的prototype属性。
    查看全部

举报

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

微信扫码,参与3人拼团

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

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