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后面加括号才是执行此函数?
展开
 我来答
天糖的信
推荐于2018-04-05 · TA获得超过678个赞
知道小有建树答主
回答量:469
采纳率:93%
帮助的人:338万
展开全部
alert就是一个函数,只是alert(obj.name)传入了一个参数。
我们的obj.fun()函数执行的时候没有传参而已。
如果不加括号就执行的话,那就意味着函数刚一定义就立即执行了。
这可不是我们想要的效果哟!~
所以聪明的语言设计者自然考虑到了这个情况。这就是语法!
这样我们就可以预先定义好一个函数,等到我们希望什么时候调用的时候再执行就好了。
另外,函数本身也能作为参数传入哟。
有空的时候看看《javascript高级程序设计》,这是一本好书!虽然有点厚,不过你这么好学肯定难不倒你呀。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式