call,apply方法的使用
绑定一些函数,用于传递参数的调用
function sum(x,y){
return x + y;
}
function call1(num1,num2){
return sum.call(
this, num1 , num2);
}
function apply1(num1,num2){
return sum.apply(
this,[num1,num2]);
}
扩充作用域
window.color =
'red';
var obj = {color:
'blue'};
function showColor(){
alert(
this.color);
}
showColor.call(window);
showColor.call(obj);
执行环境与作用域链
执行环境是js中最重要的一个概念。执行环境定义了变量或有权访问的其他数据,决定了它们各自的行为。每个执行环境都有一个与之关联的变量对象,环境中定义的所有变量和函数都保存在这个对象中。
作用域链是你可以一级一级的访问上一级的作用域的变量和函数,但是你不能从上一层向下来进行访问下一级的作用域的变量
一层一层的向上来追溯,有顺序的向上去找,全局变量尽量少用
垃圾收集,块级作用域
垃圾收集
标记法
function test(){
var a =
10;
var b =
20;
}
test();
引用计数法(不做介绍)
块级作用域
js没有块级作用域的概念
function test(){
for (
var i =
1; i<=
5;i++){
alert(i);
}
alert(i);
}
test();
闭包
function f(x){
var temp = x;
return function(x){
temp += x;
alert(temp);
}
}
var a = f(
50)
a(
5);
转载请注明原文地址: https://ju.6miu.com/read-38743.html