這裏新來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。 –