function Foo(){
getName = function(){
console.log(1);
}
return this;
}
Foo.getName = function(){
console.log(2)
}
Foo.prototype.getName = function(){
console.log(3)
}
var getName = function(){
console.log(4)
}
function getName(){
console.log(5);
}
console.log(Foo()); // window
Foo.getName();// 2
getName();// 1
Foo().getName();// 1
getName();// 1
new Foo.getName();// 2
new Foo().getName();// 3
new new Foo().getName();// 3
心得:调用构造函数时,运行会覆盖外层函数,
2.console.log("8"|"1");输出什么?
答:9 这是位运算符~,&,| 分别对应非,与,或,不过这两个数字是要进行2进制的计算,
&是比较2进制的数,是否相匹配,它把每个数字中的数位对齐,然后用下面的规则对同一位置上的两个数位,如果相同就留下2进制的位数,如果不匹配就舍去为0;
|同样也是2进制的数进行比较,相当于2进制的位数上有1上1没1就填0;

京公网安备 11010502036488号