这里新来javascript。似乎无法理解此JavaScript代码! if(!this.class)
所以我一直在尝试学习使用Raphael.js,并遇到了这个http://jsfiddle.net/terryyounghk/AeU2r/代码片段。
现在,如果你看第167行,有这个“如果”的陈述,我只是不明白。
Raphael.el.style = function (state, style, aniOptions)
{
if (!this.class)
{
this.class = style ? style : 'default';
this.aniOptions = aniOptions ? aniOptions : null;
// start assigning some basic behaviors
this.mouseover(function() { this.style('hover'); });
....
什么类?它回来了什么?谁回来了?
它甚至检查什么?这是一堂课?
在if语句的正上方输入console.log(this);并激活浏览器控制台。然后重新运行jsFiddle查看对象。 – arttronics
请注意,'class'是JavaScript中的[保留关键字](https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Reserved_Words),因此代码看起来有点不礼貌。我不会在JavaScript中使用'class'作为属性名称,以避免将来的ECMAScript版本混淆。 – RichardTowers
它只是检查'this'的'class'属性是否具有(falsy)值。如果您不熟悉对象,请查看https://developer.mozilla.org/en-US/docs/JavaScript/Guide/Working_with_Objects。 –