对应于智能社26课。
无标题文档
1.一个对象如果有某个方法属性,那上面的代码作为例子,如果要调用这个的话,直接a.show()这种方式就可以。
2.如果要看这个属性,则只要通过a.show的方式,而不需要加"()";
通过这小段程序的调试,我们可以知道,
1.一个对象(指的变量a)的属性或者方法属性,我们访问的时候都是通过a.属性的方式,如a.m,a.show。2.a.show和a.show()的含义是不同的,前者是访问属性,如就和a.m = "wer"一样,a.show = function(){alert('we');} ,而a.show()的含义是执行show这个方法属性里的方法的具体代码,这个例子中就是直接在页面上弹出‘we'字样,因此如果想通过下面这种方 式console.log('a.show():'+a.show()) 来查看a.show()到底是什么,那么得到的结果就是 undefined。我个人的理解是这样的, console.log('a.show:'+a.show()) ,首先会执行a.show(),即前面讲的执行这个show这个方法属性里的具体方法,即弹出'we',然后执行console.log()代码,这个时候浏览器会认为a.show()是访问点“.”后面的属性即show()这个属性,而通过右上角的调试栏里的代码显示,对象a只有show这个属性,而没有show()这个属性,因此会返回值是undefined。总结:a.show()作为单独的一行代码,浏览器则直接执行function show(),而a.show()本身作为其他代码中的一段的时候,那么会先执行function show(),然后访问把show()当作一个属性来访问。