js冷知识总结

作者: 会飞的猪l | 来源:发表于2017-07-06 08:33 被阅读12次

    1 window.close()

    js去退出当前页面是

    window.close()
    

    但是它有一个坏处只能退出它打开的页面,不能关闭链接过来的页面

    open(location,'_self').close();
    

    这样就可以退出当前页面。

    2 svg属性直接加width 和 style的width 不一样
    svg的viewBox属性 有4个参数
    viewBox="0 0 1120 1000"
    分别表示
    第一个参数X轴的起点
    第二个参数Y轴的起点
    第三个参数应该是缩放的意思,反正调后整个比例会发生变化
    第四个参数是svg高度,测试后自我感觉是svg的高度
    3 angular和vue实现数据绑定原理
    他们都调用了ES6中的proxy这个函数,这个函数可以监控你指定的对象内容,比如你指定的对象内容发生变化时,你要让别的数据也发生变化,就要用到proxy这个函数啦,他的写法如下

    let ironman = {
          name: 'Tony Stark',
          sex: 'male',
          age: '35'
        }
        Object.defineProperty(ironman, 'age', {
         set (val) {
               console.log(`Set age to ${val}`)
               return val
                  }
            })
    
        ironman.age = '48';
    

    首先定义了一个对象ironman,他有三个属性,其中一个age,用Object.defineProperty去监控这个对象中的age这个值,如果age发生了变化,就会执行set这个方法,这个方法中有一个虚参是val,这个val,就是你改变之后的值,在控制台中打印出这样一句话`Set age to 48。
    1 get()
    拦截对象属性的读取

    4 object-fit理解

    .fill {object-fit:fill;}
    .contain{object-fit:contain;}
    .cover{object-fit:cover;}
    .none{object-fit:none;}
    .scale.down{object-fit:scale-down;}
    

    每个属性值的具体含义如下
    fill:中文释义“填充”。默认值。替换内容拉伸填满整个content box,不保证保持原有比例。
    contain:中文释义“包含”。保持原有尺寸比例。保证替换内容尺寸一定可以在容器里面放得下。因此,此参数可能会在容器中留下空白。
    cover:中文释义“覆盖”。保持原有尺寸比例。保证替换内容尺寸一定大于容器尺寸,宽度和高度至少有一个和容器一致。因此,此参数可能会让替换内容(如图片)部分区域不可见。
    none:中文释义“无”。保持原有尺寸比例。同时保持替换内容原始尺寸大小。
    scale-down:中文释义“降低”。就好像依次设置了none或contain,最终呈现的是尺寸比较小的那个。
    5 trim()
    js 基本方法 去空格 input = input.trim();
    5 node项目移植过来,很有可能运行不了,这时候运行npm rebuild node-sass 命令,(如若不行,则先运行npm install node-sass命令执行)
    6 gbk编码格式
    很多编辑器打开不了中文,是因为window的编码格式是gbk,而这些编辑器都不支持gbk编码格式,如果要支持的话,要下载插件
    7 解析字符串全部中文

     lh_str = lh_str.replace(/[^\u4e00-\u9fa5]/gi, "");
    
    1. new Date() 获取24小时 时间制 toLocaleString('chinese',{hour12:false})

    2. $().trigger("click") 可以让元素模拟click事件。

    3. 如果在一个单页面中有一张gif图片,这个图片需要每进入一次,重新渲染一次,可以在这个图片后面跟参数,譬如/static/img/401.089007e.gif?1523957526610 加上当前时间。

    11.angular.js 如果数据http请求获取之后,渲染不上去,那就强制渲染数据。scope.apply();

    1. 多文件提交时,input有一个multiple属性。

    2. jquery on可以绑定事件 off可以解绑事件

    3. 数据库读的时间,很有可能会多加8个小时。因为电脑本身时区的问题。

    4. 给父元素添加上transform:translate(0,0),fixed即可根据父容器定位。如果父级元素设置了transfrom属性,position:relative/absolute/fixed会基于此定位。

    5. position:sticky。粘性定位超级棒。mmp Google兼容性都不怎么样

    6. promise.all 同时调取1个方法的时候,会错乱

    7. 两个for 比较删除某个字段的时候 第一个for i = 0; 第二个for w = i +1;

    8. node项目管理 pm2 pm2 离线安装教程 https://blog.csdn.net/chenxiao_zhl/article/details/48180193

    9. continue跳过循环 break跳出循环 return返回函数 他们3个作用很大,特别是在算法中

    10. echarts图表 多条折线图 和Y轴数据对不上,问题是数据在叠加,把series里面的stack去掉就好啦

    11. 原生JS获取父节点的所有子元素并且进行克隆

    map_stateClone = document.getElementById("map_state").getElementsByTagName('*').cloneNode(true);
    

    相关文章

      网友评论

        本文标题:js冷知识总结

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