–
function foo(x){
x=x||3;
console.log(x);
}
foo();//3
foo(0);//3
foo(1);//1
foo(-1);//-1
理解:考察关于||运算符的相关计算
“||”符号的运算规则:
只要“||”符号前面的为false,不管“||”后面是true还是false,都返回“||”它后面的那个值。
只要“||”符号前面为true,不管“||”后面是true还是false,都返回“||”前面的那个值。
–
var x=1;
var output=(function(){
delete x;
return x;
})();
alert(output);//1
alert(x);//1
但是请注意下面这两种情况的区别:
(1)情况一
var x=1;
var output=(function(){
alert(x);//1
delete x;
return x;
})();
(2)情况二:
var x=1;
var output=(function(){
delete x;
return x;
alert(x);//此时什么也得不到
})();
总结:主要考察全局作用域,和局部作用域 的理解。
–
(1)情况一
var foo=function bar(){
console.log(foo===bar);
}
bar();
测试结果:
Uncaught ReferenceError: bar is not defined
我的疑问:为什么就不能调用bar()呢?
(2)情况二:
var foo=function bar(){
console.log(foo===bar);
}
foo();//true
(4)绝对定位的元素相对于什么盒子进行定位:
定位参考离自己最近,且设置了除static外的其他定位的父元素的border来进行定位,如果没有就参考根元素html进行定位。