在处理Javascript中的方法时,为什么不设置全局变量?
基本上,代码从一个更改age属性的方法开始,然后该方法后面是一个“bob”对象,最后是一个使用该方法更改bob属性(age)的代码 我有两个问题:bob.setAge=setAge;(代码中倒数第二行)在处理Javascript中的方法时,为什么不设置全局变量?,javascript,global-variables,Javascript,Global Variables,基本上,代码从一个更改age属性的方法开始,然后该方法后面是一个“bob”对象,最后是一个使用该方法更改bob属性(age)的代码 我有两个问题:bob.setAge=setAge;(代码中倒数第二行) 通过将setAge设置为等于bob.setAge,该设置是否会将setAge设置为一个全局变量,等于bob.setAge 在bob.setAge中,bob是变量,setAge是方法。我认为当写出类似bob.setAge的内容时,句点之前的单词引用对象(susan.age),句点之后的单词引用属性
bob.setAge
包含对您可以(并且确实)调用的函数的引用
通过将setAge设置为等于bob.setAge,该设置是否会将setAge设置为一个全局变量,等于bob.setAge
不,你在做相反的事
在bob.setAge中,bob是变量,setAge是方法。我认为当写出类似bob.setAge的内容时,句点之前的单词引用对象(susan.age),句点之后的单词引用属性(susan.age)。javascript如何识别bob.setAge中的setAge引用的是方法而不是属性
JS不“识别它”(它不区分“它们”,因为“它们”是相同的东西):bob.setAge
包含对您可以(并且确实)调用的函数的引用
通过将setAge设置为等于bob.setAge,该设置是否会将setAge设置为一个全局变量,等于bob.setAge
不,你在做相反的事
在bob.setAge中,bob是变量,setAge是方法。我认为当写出类似bob.setAge的内容时,句点之前的单词引用对象(susan.age),句点之后的单词引用属性(susan.age)。javascript如何识别bob.setAge中的setAge引用的是方法而不是属性
JS不“识别它”(它不区分“它们”,因为“它们”是相同的东西):bob.setAge
包含对您可以(并且确实)调用的函数的引用
通过将setAge设置为等于bob.setAge,该设置是否会将setAge设置为一个全局变量,等于bob.setAge
不,你在做相反的事
在bob.setAge中,bob是变量,setAge是方法。我认为当写出类似bob.setAge的内容时,句点之前的单词引用对象(susan.age),句点之后的单词引用属性(susan.age)。javascript如何识别bob.setAge中的setAge引用的是方法而不是属性
JS不“识别它”(它不区分“它们”,因为“它们”是相同的东西):bob.setAge
包含对一个函数的引用,您可以(并且确实)调用该函数
var setAge=函数(newAge){
console.log(this);
这个年龄=新年龄;
};
var bob=新对象();
年龄=30岁;
bob.setAge=设置;
log('Calling set age as bob's method');
设定值(50)//这应该是鲍勃。。。
//以上内容与以下内容类似
log('Calling set age with bob as scope');
setAge.call(鲍勃[50]);
log('Calling set age as a function with no context');
设置(100)//这应该是全局对象,因为调用函数时没有任何上下文/范围。在本例中,它是窗口对象,因为我们在浏览器中运行。在节点中,它将是节点本身,等等。
var setAge=函数(newAge){
console.log(this);
这个年龄=新年龄;
};
var bob=新对象();
年龄=30岁;
bob.setAge=设置;
log('Calling set age as bob's method');
设定值(50)//这应该是鲍勃。。。
//以上内容与以下内容类似
log('Calling set age with bob as scope');
setAge.call(鲍勃[50]);
log('Calling set age as a function with no context');
设置(100)//这应该是全局对象,因为调用函数时没有任何上下文/范围。在本例中,它是窗口对象,因为我们在浏览器中运行。在节点中,它将是节点本身,等等。
var setAge=函数(newAge){
console.log(this);
这个年龄=新年龄;
};
var bob=新对象();
年龄=30岁;
bob.setAge=设置;
log('Calling set age as bob's method');
设定值(50)//这应该是鲍勃。。。
//以上内容与以下内容类似
log('Calling set age with bob as scope');
setAge.call(鲍勃[50]);
log('Calling set age as a function with no context');
设置(100)//这应该是全局对象,因为调用函数时没有任何上下文/范围。在本例中,它是窗口对象,因为我们在浏览器中运行。在节点中,它将是节点本身,等等。
var setAge=函数(newAge){
console.log(this);
这个年龄=新年龄;
};
var bob=新对象();
年龄=30岁;
bob.setAge=设置;
log('Calling set age as bob's method');
设定值(50)//这应该是鲍勃。。。
//上面是sim卡
var setAge = function (newAge) {
this.age = newAge;
};
var bob = new Object();
bob.age = 30;
bob.setAge = setAge;
bob.setAge(50);