数码资讯
Javascript调用和应用的区别和用法
首先,方法的定义。 呼叫的方法: 语法:fun.call(thisarg { { {,arg1,arg2,} } }…) 定义:调用对象并用另一个对象替换当前对象的一种方法。 解释uff1a 调用方法可以用来代替另一个对象调用方法时,调用的方法可以改变一个函数对象上下文从初始上下文的thisarg指
选购提示
关注价格、性能、续航、售后和真实使用场景,理性比较后再下单。
首先,方法的定义。
呼叫的方法:
语法:fun.call(thisarg { { {,arg1,arg2,} } }…)
定义:调用对象并用另一个对象替换当前对象的一种方法。
解释uff1a
调用方法可以用来代替另一个对象调用方法时,调用的方法可以改变一个函数对象上下文从初始上下文的thisarg指定新的对象。
如果没有提供thisarg参数,则全局对象作为thisarg。
申请方法:
语法:fun.apply(thisarg argsarray {,})
定义:应用一个对象并用另一个对象替换当前对象的一种方法。
解释uff1a
如果argarray不是有效的阵列或争论的对象,然后将引发TypeError。
如果对argarray和thisarg参数没有设置,那么全球目标将作为thisarg不能传递任何参数。
两。两者之间的区别。
这两种方法的基本区别在于参考文献的传输不同。
2.1,调用方法:
复制代码代码如下所示:
功能产品(名称,价格){
this.name =名称;
this.price =价格;
如果(价格<0)
把RangeError('cannot创建产品+姓名+与负价);
返回此;
}
功能食品(名称,价格){
product.call(这个名称,价格);
this.category = 'food;
}
food.prototype =新产品();
功能玩具(名称,价格){
product.call(这个名称,价格);
this.category = 'toy;
}
toy.prototype =新产品();
VaR奶酪=新的食品('feta ',5);
VaR的乐趣=新玩具(机器人,40);
2.2、应用方法:
复制代码代码如下所示:
功能产品(名称,价格){
this.name =名称;
this.price =价格;
如果(价格<0)
把RangeError('cannot创建产品+姓名+与负价);
返回此;
}
功能食品(名称,价格){
product.apply(这个参数);
this.category = 'food;
}
food.prototype =新产品();
功能玩具(名称,价格){
product.apply(这个参数);
this.category = 'toy;
}
toy.prototype =新产品();
VaR奶酪=新的食品('feta ',5);
VaR的乐趣=新玩具(机器人,40);
三。行动的例子
3.1,阶级继承
复制代码代码如下所示:
功能人(姓名,年龄){
this.name =名称;
这个年龄=年龄;
this.alertname =函数(){
警报(这个名字);
}
this.alertage =函数(){
警戒(这个年龄);
}
}
功能webdever(姓名,年龄,性别){
person.call(这名字,年龄);
这是性=性;
this.alertsex =函数(){
警戒(这个性别);
}
}
VaR测试=新webdever(设计的蜂巢,24,男);
(测试。alertname); / /蜂窝设计
test.alertage(); / / 24
test.alertsex(男); / /
3.2。回调函数
复制代码代码如下所示:
功能专辑(ID,标题,owner_id){
this.id = ID;
this.name =标题;
this.owner_id = owner_id;
};
album.prototype.get_owner =函数(回调){
var =;
美元。得到(/业主/+ this.owner_id,功能(数据){ }
回调callback.call(自我、数据。名称);
});
};
新专辑(1,设计蜂巢,2);
album.get_owner(功能(业主){)
警报(专辑+ this.name +属于+所有者);
});
呼叫的方法:
语法:fun.call(thisarg { { {,arg1,arg2,} } }…)
定义:调用对象并用另一个对象替换当前对象的一种方法。
解释uff1a
调用方法可以用来代替另一个对象调用方法时,调用的方法可以改变一个函数对象上下文从初始上下文的thisarg指定新的对象。
如果没有提供thisarg参数,则全局对象作为thisarg。
申请方法:
语法:fun.apply(thisarg argsarray {,})
定义:应用一个对象并用另一个对象替换当前对象的一种方法。
解释uff1a
如果argarray不是有效的阵列或争论的对象,然后将引发TypeError。
如果对argarray和thisarg参数没有设置,那么全球目标将作为thisarg不能传递任何参数。
两。两者之间的区别。
这两种方法的基本区别在于参考文献的传输不同。
2.1,调用方法:
复制代码代码如下所示:
功能产品(名称,价格){
this.name =名称;
this.price =价格;
如果(价格<0)
把RangeError('cannot创建产品+姓名+与负价);
返回此;
}
功能食品(名称,价格){
product.call(这个名称,价格);
this.category = 'food;
}
food.prototype =新产品();
功能玩具(名称,价格){
product.call(这个名称,价格);
this.category = 'toy;
}
toy.prototype =新产品();
VaR奶酪=新的食品('feta ',5);
VaR的乐趣=新玩具(机器人,40);
2.2、应用方法:
复制代码代码如下所示:
功能产品(名称,价格){
this.name =名称;
this.price =价格;
如果(价格<0)
把RangeError('cannot创建产品+姓名+与负价);
返回此;
}
功能食品(名称,价格){
product.apply(这个参数);
this.category = 'food;
}
food.prototype =新产品();
功能玩具(名称,价格){
product.apply(这个参数);
this.category = 'toy;
}
toy.prototype =新产品();
VaR奶酪=新的食品('feta ',5);
VaR的乐趣=新玩具(机器人,40);
三。行动的例子
3.1,阶级继承
复制代码代码如下所示:
功能人(姓名,年龄){
this.name =名称;
这个年龄=年龄;
this.alertname =函数(){
警报(这个名字);
}
this.alertage =函数(){
警戒(这个年龄);
}
}
功能webdever(姓名,年龄,性别){
person.call(这名字,年龄);
这是性=性;
this.alertsex =函数(){
警戒(这个性别);
}
}
VaR测试=新webdever(设计的蜂巢,24,男);
(测试。alertname); / /蜂窝设计
test.alertage(); / / 24
test.alertsex(男); / /
3.2。回调函数
复制代码代码如下所示:
功能专辑(ID,标题,owner_id){
this.id = ID;
this.name =标题;
this.owner_id = owner_id;
};
album.prototype.get_owner =函数(回调){
var =;
美元。得到(/业主/+ this.owner_id,功能(数据){ }
回调callback.call(自我、数据。名称);
});
};
新专辑(1,设计蜂巢,2);
album.get_owner(功能(业主){)
警报(专辑+ this.name +属于+所有者);
});
声明:本文内容用于数码产品信息整理与选购参考,具体价格、库存、售后政策以官方渠道和电商页面实时信息为准。