一、定义:字符串拼接使用反引号 `` ,引用变量时可以使用 ${变量名}
练习:
<style>
table {
table-layout: fixed;
width: 800px;
border-spacing: 0;
margin: 100px auto;
}
table tr {
text-align: center;
}
table tr td {
border: 1px dotted gray;
}
</style>
<script>
var students = [
{ number: 1001, name: 'jack', score: 98, gender: '男' },
{ number: 1002, name: 'rose', score: 95, gender: '女' },
{ number: 1003, name: '小丽', score: 85, gender: '女' },
{ number: 1003, name: '小丽', score: 85, gender: '女' },
];
var str = students.map(function (item) {
return `<tr>
<td>${item.number}</td>
<td>${item.name}</td>
<td>${item.score}</td>
<td>${item.gender}</td>
</tr>`
}).join('');
var newStr = `<table> ${str} </table>`
// console.log(newStr);
document.write(newStr);
</script>
二、js中的严格模式
即在js代码前添加'use strict'就可以开启严格模式,开启后代码的书写就必须按照js规范来写,否则就会报错。
<script>
'use strict'
// 下面代码书写就要按照严格模式书写
function myFunction() {
// 函数级别严格模式语法
'use strict'
y = 3.14; // 报错 (y 未定义)
}
</script>
使用严格模式的目的:消除代码运行的一些不安全之处,保证代码运行的安全;提高编译器效率,增加运行速度;为未来新版本的Javascript做好铺垫。
三、ascll码中的charCodeAt(索引)方法,根据索引返回字符编码,中文的字符编码大于255,为两个字节,其他为一个字节。
练习:
(1)编写一个方法,求一个字符串的字节长度。 一个英文字符占用一个字节,一个中文字符占用两个字节。
提示:中文字符unicode编码大于255
<script>
var str = 'hiusdhvkjjnknvk6n';
var count = 0;
for (var i = 0; i < str.length; i++) {
if (str.charCodeAt(i) > 255) {
count += 2;
} else {
count += 1;
}
}
console.log(count);
</script>
(2)判断一个字符串中出现次数最多的字符,统计这个次数
1.统计字符串中不同字符的出现次数
'abcdefabcadefkmmkggcc'
<script>
var string = 'abcdefabcadefkmmkggcc';
var obj = {};
for (var i = 0; i < string.length; i++) {
var char = string.charAt(i);
if (obj[char]) {
obj[char]++;
} else {
obj[char] = 1;
}
}
console.log(obj);
</script>
(3)2.判断字符串中出现次数最多的字符:
<script>
var string = 'abcdefabcadefkmmkggcc';
var obj = {};
for (var i = 0; i < string.length; i++) {
var char = string.charAt(i);
if (obj[char]) {
obj[char]++;
} else {
obj[char] = 1;
}
}
console.log(obj);
var max = 0;
var maxChar = null;
for (var key in obj) {
if (max < obj[key]) {
max = obj[key];
maxChar = key;
}
}
console.log('出现次数最多的元素是:', maxChar, ' 出现的最多次数是:', max, '次');
</script>