“/b”匹配的只是一个位置,这个位置的一侧是构成单词的字符,另一侧为非单词字符、字符串的开始或结束位置。“/b”是零宽度的。其实,说白了,就是单词的两侧啦请看下面例子:这是一个字符串:hello this is a test!然后我们把正侧表达式\b 替换为_得到结果如下:_hello_ _this_ _is_ _a_ _test_!上面所有的_的位置都是原来的\b,这下明白了吧。^.^...
2018-06-20
this始终指向的是调用者,当函数作为构造器时,this指向的新创建的空对象,然后就会执行构造器的所有代码,碰见this.XXX就是为新建对象添加属性.如果构造器最后没有显示的使用return返回一个值,那么就会返回this即新建对象.
2018-06-20
最新回答 / qq_暂时无特别关心的好友_0
因为JavaScript里面Array是对象,==或===操作符只能比较两个对象是否是同一个实例,也就是是否是同一个对象引用。要比较的话要将数组转换成字符串[1,2,3].toString == [1,2,3].toString
2018-06-14
console.log(obj.__proto__ === foo.prototype); //true
console.log(foo.__proto__ === Function.prototype); //true
所有对象的__proto__都指向其构造器的prototype。
所有构造器/函数的__proto__都指向Function.prototype,它是一个空函数。
console.log(foo.__proto__ === Function.prototype); //true
所有对象的__proto__都指向其构造器的prototype。
所有构造器/函数的__proto__都指向Function.prototype,它是一个空函数。
2018-06-10
最新回答 / 灰色章鱼
var a={};var a={}; 定义变量aa.toString=function(){return 1};a.toString=function(){return 1}; 将1转换为字符串赋值给a
2018-06-03
不是很适合零基础,需要有一定的编程经验。不然一直讲理论,没有案例就会看得一头雾水,不知道讲这个有啥用?为什么讲这些?
2018-06-01
JS中有隐式类型转换,我们可以利用它。比如,想把一个数字转换成字符串,可以用42+“”,因为数字加字符串首先把数字转换成字符串再进行拼接;想把一个字符串转换成数字,可以用“42”-0,字符串和数字相减,首先把字符串转换成数字,再做减法。
2018-05-30
严格等于===:首先判断类型,类型不同直接返回false。如果类型相同,还需要进一步比较,如果是基本数据类型,比较值(有一个特殊情况,number中的NaN和任何东西包括它自身都是false);如果是对象数据类型,则比较引用,例如[1,2]==[1,2]返回false
非严格等于==:首先判断类型,如果类型不同,尝试做类型转换。比如null==undefined,返回true;42=="42",先把字符串转换为数字再比较;0==false,返回true,先把布尔型转换成数字;对象和基本数据类型,先把对象转换成基本数据类型
非严格等于==:首先判断类型,如果类型不同,尝试做类型转换。比如null==undefined,返回true;42=="42",先把字符串转换为数字再比较;0==false,返回true,先把布尔型转换成数字;对象和基本数据类型,先把对象转换成基本数据类型
2018-05-30