数码资讯
用Javascript再次讨论这个问题
一直以来Javascript都有一种似是而非的感觉,今天突然感觉清楚了。 让我们先看看栗子: 使用这个 特斯拉汽车; {(CAR =函数) 这一开始=函数(){ console.log('car开始); }; 这个turnkye =函数(){ VaR carkey = document.getele
选购提示
关注价格、性能、续航、售后和真实使用场景,理性比较后再下单。
一直以来Javascript都有一种似是而非的感觉,今天突然感觉清楚了。
让我们先看看栗子:
使用这个
特斯拉汽车;
{(CAR =函数)
这一开始=函数(){
console.log('car开始);
};
这个turnkye =函数(){
VaR carkey = document.getelementbyid('car_key);
CarKey。onclick =函数(){
This.start();
};
}
返回此;
}
特斯拉=新车();
Tesla.turnKye();
有与此代码没有错,但这种误解最终导致错误的结果。我们car_key绑定元素的单击事件,并认为嵌套的单击事件在汽车类可以让DOM元素访问这方面的汽车。它看起来合理,但不幸的是它不工作。
在Javascript中,这个关键字总是指向执行范围的所有者。
请仔细想想上面的话。我们知道,一个函数调用生成一个新的范围,和一点点的onclick事件触发的,这一点到DOM元素而非汽车类。
那么我们怎样才能使它工作呢我们通常把这一局部自由变量(例如,_this,自我,我,等等),这体现在很多框架避免范围而产生的问题,在这里我们使用局部变量重写前面的方法:
使用这个
特斯拉汽车;
{(CAR =函数)
这一开始=函数(){
console.log('car开始);
};
这个turnkye =函数(){
var =;
VaR carkey = document.getelementbyid('car_key);
CarKey。onclick =函数(){
That.start();
};
}
返回此;
}
特斯拉=新车();
Tesla.turnKye();
自认为是一个自由变量的onclick事件的离开并不使其重新定义。
如果你熟悉6,你可以使用脂肪的箭头符号,这是更简洁、更容易理解,如下:
使用这个
特斯拉汽车;
{(CAR =函数)
这一开始=函数(){
console.log('car开始);
};
这个turnkye =函数(){
;
VaR carkey = document.getelementbyid('car_key);
{( / / carkey。onclick=功能)
(,即,开始);
/
让我们先看看栗子:
使用这个
特斯拉汽车;
{(CAR =函数)
这一开始=函数(){
console.log('car开始);
};
这个turnkye =函数(){
VaR carkey = document.getelementbyid('car_key);
CarKey。onclick =函数(){
This.start();
};
}
返回此;
}
特斯拉=新车();
Tesla.turnKye();
有与此代码没有错,但这种误解最终导致错误的结果。我们car_key绑定元素的单击事件,并认为嵌套的单击事件在汽车类可以让DOM元素访问这方面的汽车。它看起来合理,但不幸的是它不工作。
在Javascript中,这个关键字总是指向执行范围的所有者。
请仔细想想上面的话。我们知道,一个函数调用生成一个新的范围,和一点点的onclick事件触发的,这一点到DOM元素而非汽车类。
那么我们怎样才能使它工作呢我们通常把这一局部自由变量(例如,_this,自我,我,等等),这体现在很多框架避免范围而产生的问题,在这里我们使用局部变量重写前面的方法:
使用这个
特斯拉汽车;
{(CAR =函数)
这一开始=函数(){
console.log('car开始);
};
这个turnkye =函数(){
var =;
VaR carkey = document.getelementbyid('car_key);
CarKey。onclick =函数(){
That.start();
};
}
返回此;
}
特斯拉=新车();
Tesla.turnKye();
自认为是一个自由变量的onclick事件的离开并不使其重新定义。
如果你熟悉6,你可以使用脂肪的箭头符号,这是更简洁、更容易理解,如下:
使用这个
特斯拉汽车;
{(CAR =函数)
这一开始=函数(){
console.log('car开始);
};
这个turnkye =函数(){
;
VaR carkey = document.getelementbyid('car_key);
{( / / carkey。onclick=功能)
(,即,开始);
/
声明:本文内容用于数码产品信息整理与选购参考,具体价格、库存、售后政策以官方渠道和电商页面实时信息为准。