2012-06-05 66 views
3
// Define a walk_the_DOM function that visits every 
    // node of the tree in HTML source order, starting 
    // from some given node. It invokes a function, 
    // passing it each node in turn. walk_the_DOM calls 
    // itself to process each of the child nodes. 
    var walk_the_DOM = function walk(node, func) { 
     func(node); 
     node = node.firstChild; 
     while (node) { 
      walk(node, func); 
      node = node.nextSibling; 
     } 
    }; 

    // Define a getElementsByAttribute function. It 
    // takes an attribute name string and an optional 
    // matching value. It calls walk_the_DOM, passing it a 
    // function that looks for an attribute name in the 
    // node. The matching nodes are accumulated in a 
    // results array. 
    var getElementsByAttribute = function (att, value) { 
     var results = []; 
     walk_the_DOM(document.body, function (node) { 
      var actual = node.nodeType === 1 && node.getAttribute(att); 
      if (typeof actual === 'string' && 
        (actual === value || typeof value !== 'string')) { 
        results.push(node); 
       } }); 
     return results; 
    }; 

我不明白這行代碼的意思是:JavaScript。這是什麼意思的表達:「VAR A = B ===ç&& d;」

var actual = node.nodeType === 1 && node.getAttribute(att); 

如何解釋這種表達方式呢?

a = b === xxx && yyy 

謝謝。

+0

https://developer.mozilla.org/en/JavaScript/Reference/Operators/Operator_Precedence – Quentin

回答