一些前端基础问题,闲来无事,就做一下记录吧

1.页面滚动条不显示但可以通过鼠标滚动:

谷歌:

元素名::-webkit-scrollbar{

display:none;

}

整个页面:

body::-webkit-scrollbar{    /* 谷歌滚动条隐藏 */

display:none;

}

html{

-ms-overflow-style:none;    /*隐藏滚动条,当IE下溢出,仍然可以滚动*/

scrollbar-width: none;    /*火狐下隐藏滚动条*/

}


1.AMD、CMD、CommonJs、ES6的对比

简述:

1. 都是用于在模块化定义中使用的。

2. AMD、CMD、CommonJs是ES5中提供的模块化编程的方案。

3. import/export是ES6中定义新增的。

细分:

(1)AMD是RequireJS在推广过程中对模块定义的规范化产出,它是一个概念,RequireJS是对这个概念的实现,就好比JavaScript语言是对ECMAScript规范的实现。AMD是一个组织,RequireJS是在这个组织下自定义的一套脚本语言。

RequireJS:是一个AMD框架,可以异步加载JS文件,按照模块加载方法,通过define()函数定义,第一个参数是一个数组,里面定义一些需要依赖的包,第二个参数是一个回调函数,通过变量来引用模块里面的方法,最后通过return来输出 是一个依赖前置、异步定义的AMD框架(在参数里面引入js文件),在定义的同时如果需要用到别的模块,在最前面定义好即在参数数组里面进行引入,在回调里面加载。

CMD-同步模块定义:

(2)CMD---是SeaJS在推广过程中对模块定义的规范化产出,是一个同步模块定义,是SeaJS的一个标准,SeaJS是CMD概念的一个实现,SeaJS是淘宝团队提供的一个模块开发的js框架. 通过define()定义,没有依赖前置,通过require加载jQuery插件,CMD是依赖就近,在什么地方使用到插件就在什么地方require该插件,即用即返,这是一个同步的概念

CommonJS-module.exports定义:

(3)CommonJS规范--- CommonJS规范加载模块是同步的,只有加载完成,才能执行后面的操作。AMD规范则是非同步加载模块,允许指定回调函数。是通过module.exports定义的,在前端浏览器里面并不支持module.exports,通过node.js后端使用的。Nodejs端是使用CommonJS规范的,前端浏览器一般使用AMD、CMD、ES6等定义模块化开发的所有代码都运行在模块作用域,不会污染全局作用域。模块可以多次加载,但是只会在第一次加载时运行一次,然后运行结果就被缓存了,以后再加载,就直接读取缓存结果。要想让模块再次运行,必须清除缓存。模块加载的顺序,按照其在代码中出现的顺序。 输出方式有2种:默认输出---module.export 和带有名字的输出---exports.name

ES6特性-模块化:

(4)ES6特性,模块化---export/import对模块进行导出导入的。


2.DOM怎样添加、移除、移动、复制、创建和查找节点

creatElement()创建一个具体元素

creatElement()创建一个具体元素

appendChild()添加

removeChild()移除

rependChild()替换

insertBefore()插入

geiElementById()查找


3.ES6去重方法(不可以使用循环遍历)

vararr = ["1","2","3","1","a","a","c","c"];

varset=newSet(arr) ;

vararray =Array.from(set);

console.log(array);


暂时就这些咯~~~

你可能感兴趣的:(一些前端基础问题,闲来无事,就做一下记录吧)