-
var a="string" alert(a.length);//6 a.t=3; alert(a.t)//undefined查看全部
-
基本对象、包装对象 str 是基本类型 strObj是对象类型 是string类型对应的包装类查看全部
-
+ 链接 巧用+ / - 规则转换类型 num-0 num+" == 比较的时候会尝试隐式转换 null==undefined number==string 转number === 首先判断类型 NaN≠NaN new Object≠new Object查看全部
-
判断原始类型用typeof遇到Null失效 判断对象类型用instanceof 基于原型链 xxx.prototype.tostring()遇到null和undefined失效 不同window和不同iframe是不能使用instanceof查看全部
-
JS的隐式转换 NaN!=NaN new Object!=new Object null==undefined相等 number==string 转number boolean==?转换为Number object==number|string转换为基本类型查看全部
-
JS中的数据类型: 原始类型:number/string/boolean/null/undfined 另一种:object:Function Array Date...查看全部
-
全局this===window 严重模式?use strict查看全部
-
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查看全部
-
先实现原型链继承,再扩展。 function inherit (subClass, superClass) {subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass;} Object.freeze(); //prevent from being altered查看全部
-
Student.prototype = Person.prototype; This is wrong!!! Student.prototype = Object.create(Person.prototype); if (!Object.create) { Object.create = function (proto) {function F(){}; F.prototype = proto; return new F}; }查看全部
-
instanceof右边必须是函数对象,根据左边对象的原型链查找,是否有右边的函数对象,有就返回false 可以使用 类.prototype.constructor来修改类的构造函数,默认情况下为同类名的函数查看全部
-
动态修改prototype 的 属性 时,会影响 已创建 或 新创建 的 所有 实例 把 prototype 赋值为另外一个对象,已创建的实例不会有所改变,但会影响后续创建的实例 需要for-in时不枚举自己添加的属性,可使用 defineProperty(Object.prototype,"x",{writable:true,value:1}); 此时 enumerable 为 false.查看全部
-
Student.prototype = Object.creat(Person.prototype); Student.prototype.constructor = Studnet;查看全部
举报
0/150
提交
取消