JavaScript模板字符串

一、定义:字符串拼接使用反引号 `` ,引用变量时可以使用 ${变量名}

练习:

 

<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>

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值