javascript对象变量的问题,var obj= new Object();//创建一个名字为obj的对象;
obj.name="lihao";//这个对象可以储存东西,obj包含一个变量name.functionaction(){alert("play");};//定义一个函数...
obj.name="lihao"; //这个对象可以储存东西,obj包含一个变量name.
function action(){alert("play");}; //定义一个函数,函数名字为action;
obj.fun=action;//包含一个变量fun ,此变量类型为函数,fun可以储存函数;
alert(obj.name);//obj.name的值是字符串play;
obj.fun();---这里我就搞不明白了,为什么不能像上面alert(obj.name);这样直接写obj.name,为什么要在fun后面加括号才是执行此函数? 展开
function action(){alert("play");}; //定义一个函数,函数名字为action;
obj.fun=action;//包含一个变量fun ,此变量类型为函数,fun可以储存函数;
alert(obj.name);//obj.name的值是字符串play;
obj.fun();---这里我就搞不明白了,为什么不能像上面alert(obj.name);这样直接写obj.name,为什么要在fun后面加括号才是执行此函数? 展开
1个回答
展开全部
alert就是一个函数,只是alert(obj.name)传入了一个参数。
我们的obj.fun()函数执行的时候没有传参而已。
如果不加括号就执行的话,那就意味着函数刚一定义就立即执行了。
这可不是我们想要的效果哟!~
所以聪明的语言设计者自然考虑到了这个情况。这就是语法!
这样我们就可以预先定义好一个函数,等到我们希望什么时候调用的时候再执行就好了。
另外,函数本身也能作为参数传入哟。
有空的时候看看《javascript高级程序设计》,这是一本好书!虽然有点厚,不过你这么好学肯定难不倒你呀。
我们的obj.fun()函数执行的时候没有传参而已。
如果不加括号就执行的话,那就意味着函数刚一定义就立即执行了。
这可不是我们想要的效果哟!~
所以聪明的语言设计者自然考虑到了这个情况。这就是语法!
这样我们就可以预先定义好一个函数,等到我们希望什么时候调用的时候再执行就好了。
另外,函数本身也能作为参数传入哟。
有空的时候看看《javascript高级程序设计》,这是一本好书!虽然有点厚,不过你这么好学肯定难不倒你呀。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询