JavaScript中的this指向通常由调用上下文决定,例如当函数作为对象的方法被调用时,this指向该对象;当函数被直接调用时,this在非严格模式下指向全局对象如window,在严格模式下则为undefined。当方法参数类型为function时,this的指向取决于函数是如何被传递和调用的。如果回调函数作为参数传递给另一个函数,并在该函数内
this对象,拥有 JavaScript 代码。实例中this的值为myObject对象。 测试以下!修改fullName方法并返回this值: 实例 varmyObject={firstName:"John",lastName:"Doe",fullName:function(){returnthis;}}myObject.fullName();//返回 [object Object] (所有者对象) 尝试一下 » 函数作为对象方法调用,会使得this的值...
varperson={firstName:"John",lastName:"Doe",id:5566,myFunction:function(){returnthis;}}; 尝试一下 » 实例 varperson={firstName:"John",lastName:"Doe",id:5566,fullName:function(){returnthis.firstName+""+this.lastName;}}; 尝试一下 » 说明:this.firstName表示this(person) 对象的firstNa...
function fn(){ this.x = 123; //this是调用该函数的obj对象 } var obj = new fn(); //obj = {x:123} 1. 2. 3. 4. 4、apply 调用函数,apply 方法作用是改变函数的调用对象,此方法第一个参数为改变后的调用函数的对象,函数里this指第一个参数 var x = 11; function fn(){ alert(this.x) ...
/** Constructors work like this:构造函数以类似下面的方式运行: * * function MyConstructor(){ * // Actual function body code goes here. Create properties on |this| as * // desired by assigning to them. E.g., * // 译:实际的代码放在这里,通过 this 创建需要的属性及赋值。如: ...
function(){ 函数体 } 1.6 闭包 4.6.1闭包作用域链 闭包是有权访问另一个函数作用域中变量的函数。因此任何函数都是闭包。当某函数第一次被调用时,会创建一个执行环境及相应的作用域链,并把作用域链赋值给一个特殊的内部属性即[[scope]]。然后使用this、arguments和其他命名参数的值来初始化函数的活动对象。
案例一:// 定义了一个函数functionxx(){// 函数内部this的指向console.log(this);//window//因为:...
function fn1() { console.log(this); } fn1(); //第一次调用fn1:window class People { excutor(fn1) { function fn2() { console.log(this); } fn1(); // 第二次调用fn1:window console.log(this); // p fn2(); // undefined } } let p = new People(); p.excutor(fn1); 根...
关于function中的this指向老觉得很迷惑。 document.body.onclick = function(){ console.log(this); // 这个this指向body function click_inner(){ console.log(this); // 这个this指向了window } click_inner(); } 从上面的代码可以推测出:每个function中都有一个this。 我原先的理解为:click_inner 内没...
一直听大家说this指向当前对象的所有者,函数是声明时确定所有者还是执行时确定所有者? varbase=[[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0]]; //添加事件函数 functionaddEvent(id,func){ varobj=document.getElementById(id); if(obj.addEventListener){ obj.addEventListener('click',func); ...