模板字串的功能,它可以緊跟在乙個函式名後面,該函式將被呼叫來處理這個模板字串。這被稱為「標籤模板」功能(tagged template)。
舉個栗子:
第乙個引數是陣列,使用變數進行切割。
後面是變數的值。
那麼其切割的規則是什麼呢?如何還原字串呢?請看正文。
分兩種情況:
第一種情況:
a b c d e
a c是我們輸入的,其他類推哈。
這個是因為e是「」,string陣列中最後乙個一定是「」。
回到原題:a、c是我們的自己輸入的,那麼b、d就是使用者輸入的,看下面乙個函式:
為什麼統一這樣寫?,因為${}不確定是多少,所以去用argument去代替,比如說argument,argument以此類推。
那麼a就是 stratrr[0],b就是arg[1],c就是stratrr[1],d就是arg[2],e就是arg[2]
如果是這種情況就好辦了,只要把a拿出來,後面就是arg[1]+stratrr[1]+arg[2]+arg[2],
是不是很有順序?直接看**吧。
function restore(strattr)
return output;
}console.log(restore `你好$感謝你$`);
輸出結果:
第二種情況
a、b、c、d、e這時候就是a、c是${},而b、d、e是原有格式字串。
同樣如此:
a為arg[1],b為strattr[0],c為arg[2],d為strattr[1],e為strattr[2]
很有規律arg[1]下乙個就是strattr[0],減了一,而e為「」,我們不必要去管。
所以**如下:
function restore(strattr)
return output;
}console.log(restore `$感謝你$謝謝`);
把兩個函式合併一下,用bool型別做判斷即可。 js es6語法 字串和陣列的方法
s的方法 根據index取value 取首尾項,arr 0 arr arr.length 1 根據value取index 判斷是否包含子字串 s.indexof 栗子 maotai indexof mao 如果不包含則返回 1,如果包含返回子字串下標 取切片s.substr 1,3 含3 s.sub...
備忘錄 js es6中新增的字串方法
1.string.fromcodepoint 可以識別大於0xffff的碼點,彌補string.fromcharcode 的不足 返回乙個字串 2.string.raw 返回乙個斜槓都被轉義的字串,主要用於處理模板字串 模板字串 string.raw hi n 返回 hi n string.raw ...
字串還原
小k是一位蔚藍教主的崇拜者 orz教主er 有一天,他收到了一封匿名信,信告訴了小k由於他表現出色,得到了一次當面orz教主的機會,但是要當面orz教主可不那麼容易,不是每個人都有資格orz教主的。所以要破解下面一段密文才可以得到相關的資訊,信中有提供加密的規則,但是小k覺得這個問題看似複雜,所以想...