2020.9.7学习问题

Q1:npm 中 install npm包时--save和--save dev 有啥区别 ?

npm install -save moduleName 命令

1. 安装模块到项目node_modules目录下。
2. 会将模块依赖写入dependencies 节点。
3. 运行 npm install 初始化项目时,会将模块下载到项目目录下。
4. 运行npm install --production或者注明NODE_ENV变量值为production时,自动下载模块到node_modules目录中。

npm install -save-dev moduleName 命令

1. 安装模块到项目node_modules目录下。
2. 会将模块依赖写入devDependencies 节点。
3. 运行 npm install 初始化项目时,会将模块下载到项目目录下。
4. 运行npm install --production或者注明NODE_ENV变量值为production时,不会自动下载模块到node_modules目录中。

devDependencies 节点下的模块是我们在开发时需要用的,比如项目中使用的 gulp ,压缩css、js的模块。这些模块在我们的项目部署后是不需要的,所以我们可以使用 -save-dev 的形式安装。像 express 这些模块是项目运行必备的,应该安装在 dependencies 节点下,所以我们应该使用 -save 的形式安装

Q2:vue里export和export default有啥区别?

//demo1.js导出
export const str = 'hello world'  // 常量
  
export function fun(a){  // 函数
    return a+1
}
//demo2.js导入
import { str , fun } from 'demo1' // 使用export的时候使用{}包起来
//demo3.js导出
export default const str = 'hello world'
//demo4.js导入
import str from 'demo3' //导入的时候没有花括号

Q3:WeakSet和set的区别

WeakSet的元素只能是引用类型中的对象,且为弱引用,弱引用就是它引用了数据,数据被引用的次数不会增加

在数据被引用次数为0时会被系统检测到,然后回收

还有一点就是无法进行迭代操作

Q4:substr函数(忘记了)

stringObject.substr(start,length)

substr() 的参数指定的是子串的开始位置和长度,因此它可以替代 substring() 和 slice() 来使用。

Q5 js filter 过滤器的原理

filter()

简单讲filter就是一个数组过滤器(所以只能作用在数组呗),参数接收一个函数,数组的每一项经过函数过滤,返回一个符合过滤条件的新数组

函数接收三个参数:

item (当前遍历的数组项)

i (当前项索引)

arr (调用filter数组本身)

// 需求找到数组内偶数

        let arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

        let newArr = arr.filter((item, i, arr) => {
            //函数本身返回布尔值,只有当返回值为true时,当前项存入新数组。
            return item % 2 == 0
        })
        console.log(newArr)
原文地址:https://www.cnblogs.com/jiangxiaoming/p/13628204.html