将我的文本“加粗”(转换普通字符)为相应的特殊“粗体(衬线)”符号的正确方法是什么?
当我在浏览器中运行它时boldify("Hello World!")
,我期望:
“!”
但我得到(当在 Opera 的谷歌开发者控制台中运行时):
" !function(_0x3298c7,_0x4d4daa){return this[_0x543a('0x9f')](new RegExp(_0x3298c7,'g'),_0x4d4daa);}"
最后附加的这个javascript函数字符串是什么?为什么会这样?
功能:
function boldify(txt) {
let input = txt;
let bold_input = "";
let font = {
'q': [55349, 56362],
'w': [55349, 56368],
'e': [55349, 56350],
'r': [55349, 56363],
't': [55349, 56365],
'z': [55349, 56371],
'u': [55349, 56366],
'i': [55349, 56354],
'o': [55349, 56360],
'p': [55349, 56361],
'a': [55349, 56346],
's': [55349, 56364],
'd': [55349, 56349],
'f': [55349, 56351],
'g': [55349, 56352],
'h': [55349, 56353],
'j': [55349, 56355],
'k': [55349, 56356],
'l': [55349, 56357],
'y': [55349, 56370],
'x': [55349, 56369],
'c': [55349, 56348],
'v': [55349, 56367],
'b': [55349, 56347],
'n': [55349, 56359],
'm': [55349, 56358],
'Q': [55349, 56336],
'W': [55349, 56342],
'E': [55349, 56324],
'R': [55349, 56337],
'T': [55349, 56339],
'Z': [55349, 56345],
'U': [55349, 56340],
'O': [55349, 56328],
'P': [55349, 56334],
'A': [55349, 56335],
'S': [55349, 56338],
'D': [55349, 56323],
'F': [55349, 56325],
'G': [55349, 56326],
'H': [55349, 56327],
'J': [55349, 56329],
'K': [55349, 56330],
'L': [55349, 56331],
'Y': [55349, 56344],
'X': [55349, 56343],
'C': [55349, 56322],
'V': [55349, 56341],
'B': [55349, 56321],
'N': [55349, 56333],
'M': [55349, 56332],
'1': [55349, 57295],
'2': [55349, 57296],
'3': [55349, 57297],
'4': [55349, 57298],
'5': [55349, 57299],
'6': [55349, 57300],
'7': [55349, 57301],
'8': [55349, 57302],
'9': [55349, 57303],
'0': [55349, 57294]
};
for (i in input) {
let char = input[i];
let char_code = font[char];
if (char_code !== undefined) {
let bold_char = String.fromCharCode(char_code[0], char_code[1]);
bold_input += bold_char;
} else {
bold_input += char;
}
}
return (bold_input);
}
console.log(boldify("Hello World!"))