javascript中的方法链接失败
我试着训练自己写链接函数,但遇到了错误javascript中的方法链接失败,javascript,Javascript,我试着训练自己写链接函数,但遇到了错误 无法读取未定义(…)的属性“减号” 我的代码怎么了 var math=function(){ var结果=0; var add=函数(参数){ 结果+=参数; }; var减号=函数(参数){ 结果-=参数; }; var print=function(){ console.log(结果) }; 返回{加:加,减:减,打印:打印}; } var计算器=数学(); var result=calculator.add(5).减(1).print(); con
无法读取未定义(…)的属性“减号”
我的代码怎么了
var math=function(){
var结果=0;
var add=函数(参数){
结果+=参数;
};
var减号=函数(参数){
结果-=参数;
};
var print=function(){
console.log(结果)
};
返回{加:加,减:减,打印:打印};
}
var计算器=数学();
var result=calculator.add(5).减(1).print();
console.log(result)
在本例中,您需要将对象(此
)返回到您期望的“链”中
您print()
也不会返回任何内容,因此result
始终未定义
var math=function(){
var结果=0;
var add=函数(参数){
结果+=参数;
归还这个;
};
var减号=函数(参数){
结果-=参数;
归还这个;
};
var print=function(){
console.log('result:'+result);
//print不会返回任何内容,如果要通过调用它来分配任何内容,则需要返回
返回结果;
};
返回{加:加,减:减,打印:打印};
}
var计算器=数学();
var result=calculator.add(5).减(1).print();
console.log(result)
在本例中,您需要将对象(此
)返回到您期望的“链”中
您print()
也不会返回任何内容,因此result
始终未定义
var math=function(){
var结果=0;
var add=函数(参数){
结果+=参数;
归还这个;
};
var减号=函数(参数){
结果-=参数;
归还这个;
};
var print=function(){
console.log('result:'+result);
//print不会返回任何内容,如果要通过调用它来分配任何内容,则需要返回
返回结果;
};
返回{加:加,减:减,打印:打印};
}
var计算器=数学();
var result=calculator.add(5).减(1).print();
console.log(result)
您还可以存储对返回对象的引用
var math=function(){
var结果=0;
var add=函数(参数){
结果+=参数;
回归数学;
};
var减号=函数(参数){
结果-=参数;
回归数学;
};
var print=function(){
console.log(结果)
};
变量数学={
加:加,,
负号:负号,,
打印:打印
};
回归数学;
}
var计算器=数学();
计算器.加(5).减(1).打印()代码>您还可以存储对返回对象的引用
var math=function(){
var结果=0;
var add=函数(参数){
结果+=参数;
回归数学;
};
var减号=函数(参数){
结果-=参数;
回归数学;
};
var print=function(){
console.log(结果)
};
变量数学={
加:加,,
负号:负号,,
打印:打印
};
回归数学;
}
var计算器=数学();
计算器.加(5).减(1).打印()代码>函数不会显式返回任何内容。因此,调用calculator.add(5)
将返回undefined
,当然,它没有.减号。函数不会显式返回任何内容。因此,调用calculator.add(5)
将返回未定义的
,当然,它没有一个。减号
。为什么不直接使用这个
?耸耸肩当涉及到新代码时,我更习惯使用“this”。这个snipplet没有使用new。为什么不直接使用这个
?耸耸肩当涉及到一个新的问题时,我更习惯使用“This”。这个小飞贼没有用新的。