2012-09-10 65 views

回答

1

從來沒有使用過這個,但是在一次點擊中發現了這個。

searching keys is annoying and tedious. gawd! but wait... 

// test for existence of a key 
lawnchair(function(){ 
    this.exists('my-key-name', function(exists) { 
    console.log(exists) 
    }) 
}) 

什麼打印到您的控制檯?刪除字符串應該有助於調試問題。

編輯 - 經過深入研究,exists函數有兩個定義。

exists: function (key, cb) { 
    this.lambda(cb).call(this, !!(store[key])) 
    return this 
} 

而且

exists: function (key, cb) { 
    var exists = this.indexer.find(this.name+'.'+key) === false ? false : true ; 
    this.lambda(cb).call(this, exists); 
    return this; 
} 

他們都應該返回布爾值。第一個可能有點可疑。不確定。嘗試在Lawnchair函數中包含帶有註釋和斷點的擴展JS版本。你會很快找到發生的事情。

睡覺時間:)祝你好運。

+0

哈!相同的答案,同一時間。 「閱讀文檔!」 :) –

+0

它顯示「存在是:」[對象對象]。看着對象內部,沒有布爾值。 – AndreiBogdan

+0

@AndreiBogdan - 這是存在的東西嗎?你確定它返回任何東西,如果沒有找到? – Aesthete

1

從來沒有使用過,但the documentation suggests你的回調函數來exists會收到一個boolean參數:

// test for existence of a key 
lawnchair(function(){ 
    this.exists('my-key-name', function(exists) { 
     console.log('existence is: ' + exists) 
    }) 
})