美文网首页
HTML5学习小记十二

HTML5学习小记十二

作者: 涛涛灬灬 | 来源:发表于2017-03-14 20:55 被阅读0次
  1. 关于运算符合=== 它的判断流程:
    如果两个值不是相同类型,它们不相等
    如果两个值都是null或者都是undefined,它们相等
    如果两个值都是布尔类型true或者都是false,它们相等
    如果其中有一个是NaN,它们不相等
    如果都是数值型并且数值相等,他们相等, -0等于0
    如果他们都是字符串并且在相同位置包含相同的16位值,他它们相等;如果在长度或者内容上不等,它们不相等;两个字符串显示结果相同但是编码不同==和===都认为他们不相等
    如果他们指向相同对象、数组、函数,它们相等;如果指向不同对象,他们不相等

2.将对象转化成字符串的步骤
如果对象有toString()方法,javascript调用它。如果返回一个原始值(primitive value如:string number boolean),将这个值转换为字符串作为结果
如果对象没有toString()方法或者返回值不是原始值,javascript寻找对象的valueOf()方法,如果存在就调用它,返回结果是原始值则转为字符串作为结果
否则,javascript不能从toString()或者valueOf()获得一个原始值,此时throws a TypeError
3.吧一个页面添加一个透明度为0.2的遮罩,并使这个区域点击无效

<style>
#target {
    width: 200px;
    height: 300px;
    margin: 40px;
    background-color: tomato;
}
</style>

<div id="target"></div>

<script>
function addMask(elem, opacity) {
    opacity = opacity || 0.2;

    var rect = elem.getBoundingClientRect();
    var style = getComputedStyle(elem, null);

    var mask = document.createElement('div');
    mask.style.position = 'absolute';
    var marginLeft = parseFloat(style.marginLeft);
    mask.style.left = (elem.offsetLeft - marginLeft) + 'px';
    var marginTop = parseFloat(style.marginTop);
    mask.style.top = (elem.offsetTop - marginTop) + 'px';
    mask.style.zIndex = 9999;
    mask.style.opacity = '' + opacity;
    mask.style.backgroundColor = '#000';

    mask.style.width = (parseFloat(style.marginLeft) +
        parseFloat(style.marginRight) + rect.width) + 'px';
    mask.style.height = (parseFloat(style.marginTop) +
        parseFloat(style.marginBottom) + rect.height) + 'px';

    elem.parentNode.appendChild(mask);
}

var target = document.getElementById('target');
addMask(target);

target.addEventListener('click', function () {
    console.log('click');
}, false);
</script>

4.输出今天是星期几的一段小代码:

var days = ['日','一','二','三','四','五','六'];
var date = new Date();

console.log('今天是星期' + days[date.getDay()]);

5.判断一个对象是否为一个数组:

/**
 * 判断一个对象是否是数组,参数不是对象或者不是数组,返回false
 *
 * @param {Object} arg 需要测试是否为数组的对象
 * @return {Boolean} 传入参数是数组返回true,否则返回false
 */
function isArray(arg) {
    if (typeof arg === 'object') {
        return Object.prototype.toString.call(arg) === '[object Array]';
    }
    return false;
}

6.有一个大数组,var a = ['1', '2', '3', ...];a的长度是100,内容填充随机整数的字符串.请先构造此数组a,然后设计一个算法将其内容去重

 /**
    * 数组去重
    **/
    function normalize(arr) {
        if (arr && Array.isArray(arr)) {
            var i, len, map = {};
            for (i = arr.length; i >= 0; --i) {
                if (arr[i] in map) {
                    arr.splice(i, 1);
                } else {
                    map[arr[i]] = true;
                }
            }
        }
        return arr;
    }

    /**
    * 用100个随机整数对应的字符串填充数组。
    **/
    function fillArray(arr, start, end) {
        start = start == undefined ? 1 : start;
        end = end == undefined ?  100 : end;

        if (end <= start) {
            end = start + 100;
        }

        var width = end - start;
        var i;
        for (i = 100; i >= 1; --i) {
            arr.push('' + (Math.floor(Math.random() * width) + start));
        }
        return arr;
    }

    var input = [];
    fillArray(input, 1, 100);
    input.sort(function (a, b) {
        return a - b;
    });
    console.log(input);

    normalize(input);
    console.log(input);

相关文章

  • HTML5学习小记十二

    关于运算符合=== 它的判断流程:如果两个值不是相同类型,它们不相等如果两个值都是null或者都是undefine...

  • HTML5视频与音频

    @(HTML5)[HTML5视频与音频] [TOC] 十二、HTML5视频与音频 简单介绍HTML5 对视频和音频...

  • HTML5学习小记八

    关于一些小知识点的总结 GET 和 POST 的区别?1、 get是从服务器获取数据 -----"取"; post...

  • HTML5学习小记十

    1.将多个div水平方向上等高居中显示:height:50%;2.关于swiper的图片展示方向问题://Slid...

  • HTML5学习小记九

    1.关于ajax的一些优缺点优点1 通过异步模式,提升了用户体验2优化了浏览器和服务器之间的传输,减少不必要的数据...

  • HTML5学习小记七

    1.动画效果的第三方框架 animate.min.css(1)将animate.min.css导入到当前工程中,选...

  • HTML5学习小记一

    1.overflow : 这个属性定义溢出元素内容区的内容会如何处理。如果值为 scroll,不论是否需要,用户代...

  • HTML5学习小记三

    1.document.querySelector document.querySelector(container...

  • HTML5学习小记四

    1.图片在div中居中显示 CSS样式如下: div{width:300px; height:150px; bac...

  • HTML5学习小记五

    1.将ul-li的展示图片横排显示,使用float:left;2.几个常用数字验证的正则表达式 3.删除前后空格 ...

网友评论

      本文标题:HTML5学习小记十二

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