前端知识篇——(六)

目录

HTML 题目: X-UA-Compatible

CSS 题目: vw vh

JavaScript 题目: forEach,for-in,for-of

HTML

题目:X-UA-Compatible

<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">

这是IE8的专用标记,用来指定IE8浏览器去模拟某个特定版本的IE浏览器的渲染方式,以此来解决部分兼容问题。

IE=edge

edge 模式告诉 IE 以最高级模式渲染文档,也就是任何 IE 版本都以当前版本所支持的最高级标准模式渲染,避免版本升级造成的影响。即就是什么版本 IE 就用什么版本的标准模式渲染。

chrome=1

提示 IE 用户安装 Google Chrome Frame,Google 官方提供了对 Google Frame 插件安装情况的检测,这里直接调用方法即可,如果检测到 IE 并未安装 Google Frame,则弹出对话框提示安装。

最佳的兼容方式是结合上述两种: content=”IE=edge,chrome=1

这样写可以达到的效果是如果安装了GCF,则使用GCF来渲染页面,如果未安装GCF,则使用最高版本的IE内核进行渲染。
Google Chrome Frame(谷歌内嵌浏览器框架GCF),这个插件可以让用户的IE浏览器外不变,但用户在浏览网页时,实际上使用的是Google Chrome浏览器内核,而且支持IE6、7、8等多个版本的IE浏览器。

CSS

题目: vw vh

vw vh 是响应式布局的单位,一种不需要 JS 与 CSS耦合在一起的视口单位

  • vw = view width
  • vh = view heigh

视口单位中的“视口”,桌面端指的是浏览器的可视区域,即window.innerWidth/window.innerHeight大小,不包含任务栏标题栏以及底部工具栏的浏览器区域大小。;移动端指的就是Viewport中的Layout Viewport。

  • vw 1vw = 视口宽度的1% window.innerWidth = 1680px 10vw = 0.1*1680 = 168px;
  • vh 1vh = 视口高度的1%
  • vmin 选取vw和vh中最小的那个
  • vmax 选取vw和vh中最大的那个

vh/vw与%区别

  • % 元素的祖先元素
  • vh/vw 视口的尺寸

JavaScript

题目: forEach,for-in,for-of

forEach(function(value, index, array){})

特点:只能遍历数组,且不能中断循环

      var obj = [1,3,7];
        obj.forEach(function(value){
           console.log(value);
        });
      //1
      //3
      //7 

for(var value in obj)

特点

  • 迭代对象的可枚举属性
  • 遍历对象的键
  • 一般不推荐遍历数组,因为for in遍历后的数据不能保证顺序,而且原型链上的属性也会被遍历到,可用hasOwnProperty过滤掉原型上的属性。
var obj = {
            a: 1,
            b: 2,
            c: 3
        };        
        for (var key in obj) {
            console.log("obj." + key + " = " + obj[key]);
        }
        // 输出:
        // "obj.a = 1"
        // "obj.b = 2"
        // "obj.c = 3"

for(let value of obj)

特点

  • 遍历可迭代对象定义要迭代的数据,遍历实现iterator接口的成员,即只循环可迭代对象(Array, Map, Set, String, TypedArray,arguments 对象等等)的可迭代属性,不可迭代属性在循环中被忽略了.
  • 不会循环对象的key,只会循环出数组的value,因此for…of不能循环遍历普通对象,
  • 可以通过break, continue, throw 或return控制关闭迭代器
        let iterable = [3, 5, 7];
        iterable.foo = "hello";

        for (let i in iterable) {
            console.log(i); // 0, 1, 2, "foo"
        }

        for (let i of iterable) {
            console.log(i); //  3, 5, 7
        }

猜你喜欢

转载自blog.csdn.net/twfkxp/article/details/79575038
今日推荐