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