alert(Number(“08”)
输出8;
八进制字面值的第一位必须是0,然后是八进制数字0-7,如果字面值数字超出了范围,那么前导的0将会被忽略.
删除所有的li
<ul class="ul1">
<li>node</li>
<li>node</li>
<li>node</li>
<li>node</li>
<li>node</li>
</ul>
<script>
var eles = document.getElementById("ul1").getElementsByTagName("li");
var liLength = eles.length;
for(var i = 0;i<liLength;i++){
eles.item(i).parentNode.removeChild(eles.item(i))
}
</script>
闭包
闭包是指有权访问另一个函数作用域中的变量的函数,并且在闭包内部形成一个外部无法访问的局部作用域.
创建闭包的常见方式是在一个函数内部创建另一个函数.通过另一个函数访问这个函数的局部变量,利用闭包可以突破作用域链,将函数内部的变量和方法传递到外部.
闭包是一种机制函数要访问一个变量的时候,会先从自己的作用域开始,逐步向外侧该函数作用域寻找那个变量的值.
优点加强封装性,可以达到堆变量的保护作用.
缺点闭包内部变量优先级高于外部变量,所以多查找作用域链中的一个层次,就会在一定程度上影响查找速度;内存浪费
闭包的特性
函数内再嵌套函数;
内部函数可以引用外层的参数和变量;
参数和变量不会被垃圾回收机制回收;
从0到59依次循环的计时器
var flag = 0;
function timer(){
falg++;
if(flag>50){
flag=0;
return;
}
console.log(flag);
}
setInterval(timer,1000)
null undefined
null表示"无"对象,转为数值是0;
undefined表示"无"的原始值,转为数值是NaN;
当声明的变量还未被初始化时,变量的默认值是undefined;
null用来表示尚未存在的对象,常用来表示函数企图返回一个不存在的对象;
- null:表示一个对象被定义了,值为"空";
- undefined:表示不存在这个值.
undefined
表示缺少值,就是此处应该有值,但是还没有定义.用法:
- 变量被声明了,但没有赋值,是undefined;
- 雕鹰函数时,应该提供的参数没有提供,该参数为undefined;
- 对象没有赋值的属性,该属性值为undefined;
- 函数没有返回值时,默认返回undefined.
typeof undefined//“undefined”
null
表示没有对象,即该处不应高有值.用法:
- 作为函数的参数,表示该该函数的参数不是对象;
- 作为对象原型链的终点.
- typeof null //“object”