2015-05-29 62 views
0

有人可以解釋什麼?操作符表示在以下行中 - 是否意味着OR。如果這意味着或一個人如何解釋線,因爲它沒有任何意義:jquery語法和正則表達式運算符

d = a.attr("data-template") || "<% remainingChars %> characters left" 

下面是從它採取

$("[maxlength]").each(function (ind, elem) { 
    var b = $(this), 
     a = b.parent(".form-group").find(".caption"), 
     d = a.attr("data-template") || "<% remainingChars %> characters left"; 

代碼和HTML:

<div class="form-group"> 
    <small class="caption" data-template="<% remainingChars %> characters left"> 
      150 characters left 
    </small> 
    <input type="text">      
</div> 

第二個替換以下正則表達式的部分是做什麼的,{{maxCount}}是什麼意思?

c = d.replace(/<% remainingChars %>/gi, g()).replace(/{{maxCount}}/gi, j); 

回答

0

代碼

d = a.attr("data-template") || "<% remainingChars %> characters left"

意味着:如果a.attr("data-template")是truthy然後分配其值設置爲d否則d應等於"<% remainingChars %> characters left"

它可以被寫成:

if (a.attr("data-template")) { 
    d = a.attr("data-template"); 
} else { 
    d = "<% remainingChars %> characters left"; 
} 

使用 <% remainingChars %>{{maxCount}}
d = a.attr("data-template") ? a.attr("data-template") : "<% remainingChars %> characters left" 

暗示某種模板化的 「語言」,但現在看來,這是一個混合把手/鬍鬚({{}}),並強調,EJS ...(可能)( <%>)。