1.push和pop
建立空数组,将数压入其中,arr.push();
while(arr.length!=0){arr.pop()},将数据一个个弹出.
2.indexOf(a,b)
定位返回下标,没找到返回-1;
a=>字符串,即需要定位的字符串;
b=>开始检索的位置,如未定义,则表示从0开始;
3.将函数赋值给对象的属性.当函数作为对象的属性调用时,函数就成为方法;
var o={square:function(x){return x*x}} //对象直接量
var y=o.square(16);
console.log(y); //y=256
4.闭包
如果一个函数定义了嵌套的函数,并将它作为返回值返回或者存储在某处的属性里, 这时就会有一个外部引用指向这个嵌套函数.它就不会被当做垃圾处理,并且它指向 的变量绑定对象也不会被当做垃圾处理.
var scope="global scope";
function checkscope(){
var scope="local scope";
function f(){
return scope;
}
return f();
}
checkscope(); //llocal scope
5.function构造函数
构造函数并不是使用词法作用域,相反,函数体代码的编译总是会在顶层函数执行.
var scope="global";
function constructFuction(){
var scope="local";
return newFunction("return scope"); //无法捕获局部作用域;
//返回值是global.因为通过Function()构造函数;
}