function x(){ this.y=1; }; 像这个JAVASCRIPT中的THIS能否用X()替代,成为X().Y=1?如果不行,原因什么也就是this.y=1变成X().y=1行不行,如果不行,原因是什么?请通俗举例。

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/02 06:18:51
function x(){ this.y=1; }; 像这个JAVASCRIPT中的THIS能否用X()替代,成为X().Y=1?如果不行,原因什么也就是this.y=1变成X().y=1行不行,如果不行,原因是什么?请通俗举例。

function x(){ this.y=1; }; 像这个JAVASCRIPT中的THIS能否用X()替代,成为X().Y=1?如果不行,原因什么也就是this.y=1变成X().y=1行不行,如果不行,原因是什么?请通俗举例。
function x(){ this.y=1; }; 像这个JAVASCRIPT中的THIS能否用X()替代,成为X().Y=1?如果不行,原因什么
也就是this.y=1变成X().y=1行不行,如果不行,原因是什么?请通俗举例。

function x(){ this.y=1; }; 像这个JAVASCRIPT中的THIS能否用X()替代,成为X().Y=1?如果不行,原因什么也就是this.y=1变成X().y=1行不行,如果不行,原因是什么?请通俗举例。
不行,首先你要理解this的含义和用法,this是对象的引用,而x()是方法.
function x(){ this.y=1; }所以这里this代表调用x()方法的对象.比如:

window.onload = function(){
var test = document.getElementById("test");
test.onclick = x;
function x(){
\x05 alert(this.value);
\x05 }
\x05}






这个例子,test为一个对象,执行onclick事件后,调用x()方法,这里的this便是对test对象的引用,所以this.value与test.value是等价的.

不行,y是变量可以给y赋值;x()是一个函数调用,是一个过程,不能给过程赋值;希望对你有帮助

当然不行啦,x()是函数调用,this.y 中的y是变量,this.y=1就是给y变量赋值,函数可以调用,但是不能赋值的。
你不想用this的话,你可以这样写:
var x = {};
x.y = 1;
或者,这样子
var x = {
y = 1
};

不行,没有为什么,语法问题!
x()这种写法就是调用函数,别想着替代
反正就是死规矩没有为什么

当然不行了。
1、function x()把x定义成了方法,类型是FUNCTION,方法是不能有属性的,所以不能x.y。
2、即使如果方法可以有属性,也是x.y,而不是x().y,你定义的方法是x而不是x(),
执行一个方法时才用x(); 这里"()"是表示执行x并传一个空的参数。
3、你代码里面的this虽然在function里,但它并不是代表这个方法,你这里的t...

全部展开

当然不行了。
1、function x()把x定义成了方法,类型是FUNCTION,方法是不能有属性的,所以不能x.y。
2、即使如果方法可以有属性,也是x.y,而不是x().y,你定义的方法是x而不是x(),
执行一个方法时才用x(); 这里"()"是表示执行x并传一个空的参数。
3、你代码里面的this虽然在function里,但它并不是代表这个方法,你这里的this指的是window对象,是全局的,也就是说你的代码等同于function x() { window.y=1; }。
不得你代码里是this.y = 1还是window.y = 1; 当方法x执行后,你可以在任何地方调用window.y,得到结果为1。
你问这问题的原因可能是对this不了解,以及对x和x()的区别不太了解。

收起