美文网首页
每日前端签到(第128天)

每日前端签到(第128天)

作者: 拿着号码牌徘徊 | 来源:发表于2019-12-25 07:49 被阅读0次
    第128天(2018-12-10)

    题目一:
    两种服务端推送技术的简单对比:

    SSE WebSocket
    服务器到浏览器的单向通信 两端之间的双向实时通信
    不兼容IE 兼容性更好
    协议实现断线重连与消息追踪 不在协议范围内, 需要手动处理
    实现简单, 复用HTTP 独立于Http, 实现较复杂
    回到问题, 在客户端请求不影响服务端推送数据或客户端请求以及客户端请求不密集的情况下可以考虑使用SSE代替WebSocket.

    具体的应用场景有:

    邮箱: 实时获取新邮件
    后台性能监控: 实时更新监控数据
    天气预报: 实时更新天气信息
    题目二:

    counter-reset:设置计数器 counter-reset: count 0 /* 计数器从1开始 */
    counter-increment: 递增数值 counter-increment: count 2 /* 用于count 每次递增2 */
    eg.
    
    <ul>
      <li>Item</li>
      <li>Item</li>
      <ul>
        <li>Item</li>
        <li>Item</li>
      </ul>
    </ul>
    ul {
      counter-reset: count;
    }
    li::before {
      counter-increment: count;
      content: counters(count, '-')'.';
    }
    1.Item
    2.Item
        2-1.Item
        2-2.Item
    

    题目三:

       var price = "3452,132.567";
        console.log(changePrice(price))
        function changePrice(price) {
            var decimal = price.split(".");
            var nums = decimal[0].split(",")
            var resAry = [];
            var str = ''
            resAry.push(strChange(decimal[1], 0));
            for (var j = nums.length - 1, n = 0, k = 0; j >= 0; j-- , k += 3, n++) {
                resAry.unshift(strChange(nums[j], k + 3));
            }
            for (var i = 0; i < resAry.length; i++) {
                str += resAry[i]
            }
            return str
        }
        function strChange(ary, j) {
            var decimalAry = ['厘', '分', '角', '元', '拾', '佰', '仟', '万', '拾', '佰', '仟', '亿']
            var numAry = ['零', '壹', '贰', '叁', '肆', '伍', '陆', '柒', '捌', '玖']
            var str = []
            var str2 = ''
            if (j == 0) {
                for (var m = 0; m < ary.length; m++) {
                    str2 += numAry[ary[m]] + decimalAry[2 - j++]
                }
            } else {
    
                for (var i = ary.length - 1, n = 0; i >= 0; i-- , n++) {
                    var item = ary[i]
                    str.unshift(numAry[item] + decimalAry[j++])
                }
                for (var m = 0; m < str.length; m++) {
                    str2 += str[m]
                }
            }
    
            return str2
        }
    

    题目四:
    microformats官方定义
    Designed for humans first and machines second, microformats are a set of simple, open data formats built upon existing and widely adopted standards.

    应用场景:

    1. 手机通信录使用vCard, 这是一种电子名片的微格. 导出文件格式为vcf
    2. 使用hCard定义的一系列语义化属性作为dom的class进行添加, 增强语义化, 有利于SEO

    相关文章

      网友评论

          本文标题:每日前端签到(第128天)

          本文链接:https://www.haomeiwen.com/subject/ghvqoctx.html