数码资讯
这是javascript运行机制的详细介绍。
这是面向对象语言的一个重要关键词,并理解和掌握这个关键字的使用是我们的代码的健壮性和恩典的关键。Javascript的这不同于纯面向对象的语言,如java,C #等等,使这种更加混乱和困惑。 这种情况: 1。纯函数 2。对象方法调用 三.使用新的构造函数调用 4。内部功能 5。使用调用/应用 6。事
选购提示
关注价格、性能、续航、售后和真实使用场景,理性比较后再下单。
这是面向对象语言的一个重要关键词,并理解和掌握这个关键字的使用是我们的代码的健壮性和恩典的关键。Javascript的这不同于纯面向对象的语言,如java,C #等等,使这种更加混乱和困惑。
这种情况:
1。纯函数
2。对象方法调用
三.使用新的构造函数调用
4。内部功能
5。使用调用/应用
6。事件绑定
1。纯函数
复制代码代码如下所示:
变量名=这是窗口; / /名称属性定义窗口
功能getName(){
console.log(本); / / / 控制台输出:窗口/这是指——窗口对象是全局对象
console.log(这个名字); / / /窗口的控制台输出:这
}
GetName();
运行结果分析:纯函数中的这一点指向全局对象,即窗口。
2。对象方法调用
复制代码代码如下所示:
变量名=这是窗口; / /名称属性定义窗口,看是否this.name会打电话
无功testobj = { {
名称:这是testobj,
getName:函数(){
console.log(本); / / / testobj控制台输出:这是指testobj对象
console.log(这个名字); / /:这是testobj控制台输出
}
}
TestObj.getName();
运行结果分析:调用方法中的这一点指向调用方法的对象。
三.使用新的构造函数调用
复制代码代码如下所示:
功能getobj(){
console.log(本); / /控制台输出:新创建的getobj对象getobj {} / /这一点
}
新的getobj();
运行结果分析:新构造函数中的这个点指向新生成的对象。
4。内部功能
复制代码代码如下所示:
变量名=这是窗口; / /名称属性定义窗口,看是否this.name会打电话
无功testobj = { {
名称:这是testobj
getName:函数(){
此对象的临时存储
var函数(){()
console.log(本); / / / 控制台输出:窗口/这是指——窗口对象是全局对象
console.log(这个名字); / /窗口的控制台输出:这
/ / console.log(自我); / /你能到这testobj对象的指针。
}
句柄();
}
}
TestObj.getName();
运行结果分析:这在内部功能仍然指向全局对象,即窗口。这通常被认为是Javascript语言中的一个设计错误,因为没有人希望在内部功能指向全局对象。处理的一般方法是挽救这是一个变量,一般都同意,或自我,如上面的代码所示。
5。使用调用/应用
复制代码代码如下所示:
变量名=这是窗口; / /名称属性定义窗口,看是否this.name会打电话
无功testobj1 = { {
名称:这是testobj1,
getName:函数(){
console.log(本); / / / testobj2控制台输出:这是指testobj2对象
console.log(这个名字); / /:这是testobj2控制台输出
}
}
无功testobj2 = { {
名称:这是testobj2
}
testobj1.getname.apply(testobj2);
testobj1.getname.call(testobj2);
注:应用程序类似于调用,只有第二个参数的两个是不同的:
{ 1 }呼叫(thisarg {,arg1,arg2,…); / /二参数,使用参数列表:arg1,arg2,…
{ 2 }申请(thisarg,argarray }); / /二参数,使用参数数组:argarray
运行结果分析:调用函数中的这一点指向绑定对象。
6。事件绑定
事件方法中的这个应该是最容易混淆的地方,而且大部分错误都是由于这个原因。
复制代码代码如下所示:
绑定上的元素页
功能btclick(){
console.log(本); / / / 控制台输出:窗口/这是指——窗口对象是全局对象
}
点击
复制代码代码如下所示:
绑定模式(1)
点击
功能btclick(){
console.log(本); / /控制台输出:在元件按钮 / 点击/这指向的对象
}
document.getelementbyid(按钮)。Onclick = btclick;
document.getelementbyid(按钮)。Onclick;
复制代码代码如下所示:
绑定模式(2)
点击
document.getelementbyid(按钮)。Onclick =函数(){
console.log(本); / /控制台输出:在元件按钮 / 点击/这指向的对象
}
document.getelementbyid(按钮)。Onclick;
复制代码代码如下所示:
绑定模式(3)
点击
功能btclick(){
console.log(本);
}
document.getelementbyid(按钮)。AddEventListener(听到咔哒声,btclick); / /控制台输出:在元件按钮 / /这是指向的对象功能点击(法)用于事件处理。
document.getelementbyid(按钮)。AttachEvent('onclick ',btclick); / / IE使用控制台输出:窗口 / /这指向全局对象,窗口对象
运行结果的分析:2种以上的事件绑定方法,在活动页面元素(onclick= btclick);这(),指的是全局对象;并结合JS,除了attachevent事件的方法,这是指元元素绑定事件。
这种情况:
1。纯函数
2。对象方法调用
三.使用新的构造函数调用
4。内部功能
5。使用调用/应用
6。事件绑定
1。纯函数
复制代码代码如下所示:
变量名=这是窗口; / /名称属性定义窗口
功能getName(){
console.log(本); / / / 控制台输出:窗口/这是指——窗口对象是全局对象
console.log(这个名字); / / /窗口的控制台输出:这
}
GetName();
运行结果分析:纯函数中的这一点指向全局对象,即窗口。
2。对象方法调用
复制代码代码如下所示:
变量名=这是窗口; / /名称属性定义窗口,看是否this.name会打电话
无功testobj = { {
名称:这是testobj,
getName:函数(){
console.log(本); / / / testobj控制台输出:这是指testobj对象
console.log(这个名字); / /:这是testobj控制台输出
}
}
TestObj.getName();
运行结果分析:调用方法中的这一点指向调用方法的对象。
三.使用新的构造函数调用
复制代码代码如下所示:
功能getobj(){
console.log(本); / /控制台输出:新创建的getobj对象getobj {} / /这一点
}
新的getobj();
运行结果分析:新构造函数中的这个点指向新生成的对象。
4。内部功能
复制代码代码如下所示:
变量名=这是窗口; / /名称属性定义窗口,看是否this.name会打电话
无功testobj = { {
名称:这是testobj
getName:函数(){
此对象的临时存储
var函数(){()
console.log(本); / / / 控制台输出:窗口/这是指——窗口对象是全局对象
console.log(这个名字); / /窗口的控制台输出:这
/ / console.log(自我); / /你能到这testobj对象的指针。
}
句柄();
}
}
TestObj.getName();
运行结果分析:这在内部功能仍然指向全局对象,即窗口。这通常被认为是Javascript语言中的一个设计错误,因为没有人希望在内部功能指向全局对象。处理的一般方法是挽救这是一个变量,一般都同意,或自我,如上面的代码所示。
5。使用调用/应用
复制代码代码如下所示:
变量名=这是窗口; / /名称属性定义窗口,看是否this.name会打电话
无功testobj1 = { {
名称:这是testobj1,
getName:函数(){
console.log(本); / / / testobj2控制台输出:这是指testobj2对象
console.log(这个名字); / /:这是testobj2控制台输出
}
}
无功testobj2 = { {
名称:这是testobj2
}
testobj1.getname.apply(testobj2);
testobj1.getname.call(testobj2);
注:应用程序类似于调用,只有第二个参数的两个是不同的:
{ 1 }呼叫(thisarg {,arg1,arg2,…); / /二参数,使用参数列表:arg1,arg2,…
{ 2 }申请(thisarg,argarray }); / /二参数,使用参数数组:argarray
运行结果分析:调用函数中的这一点指向绑定对象。
6。事件绑定
事件方法中的这个应该是最容易混淆的地方,而且大部分错误都是由于这个原因。
复制代码代码如下所示:
绑定上的元素页
功能btclick(){
console.log(本); / / / 控制台输出:窗口/这是指——窗口对象是全局对象
}
点击
复制代码代码如下所示:
绑定模式(1)
点击
功能btclick(){
console.log(本); / /控制台输出:在元件按钮 / 点击/这指向的对象
}
document.getelementbyid(按钮)。Onclick = btclick;
document.getelementbyid(按钮)。Onclick;
复制代码代码如下所示:
绑定模式(2)
点击
document.getelementbyid(按钮)。Onclick =函数(){
console.log(本); / /控制台输出:在元件按钮 / 点击/这指向的对象
}
document.getelementbyid(按钮)。Onclick;
复制代码代码如下所示:
绑定模式(3)
点击
功能btclick(){
console.log(本);
}
document.getelementbyid(按钮)。AddEventListener(听到咔哒声,btclick); / /控制台输出:在元件按钮 / /这是指向的对象功能点击(法)用于事件处理。
document.getelementbyid(按钮)。AttachEvent('onclick ',btclick); / / IE使用控制台输出:窗口 / /这指向全局对象,窗口对象
运行结果的分析:2种以上的事件绑定方法,在活动页面元素(onclick= btclick);这(),指的是全局对象;并结合JS,除了attachevent事件的方法,这是指元元素绑定事件。
声明:本文内容用于数码产品信息整理与选购参考,具体价格、库存、售后政策以官方渠道和电商页面实时信息为准。