1.js严格模式下this在全局作用域是 undefined
在严格模式下,当 this
在全局作用域或函数作用域中使用时,它的值会被设置为 undefined
,而不是默认绑定到全局对象(例如浏览器环境下的 window
对象)。
严格模式下的行为与非严格模式下的行为有所不同,是为了减少一些潜在的问题和隐患。在非严格模式下,如果在函数内部没有明确指定执行上下文(即调用方式),this
将绑定到全局对象。这可能会导致意外的结果和错误,尤其是在多个脚本文件或不同的执行环境中使用相同的代码时。
为了避免这种混淆和潜在的错误,严格模式下将 this
的默认值设置为 undefined
,使开发人员在使用时必须显式指定执行上下文,以避免不确定性和错误。
2.tapd 上查看自己负责的某个项目的 bug 的方法
3.箭头函数写在一行是默认有 return
箭头函数在一行写法的情况下,默认会将单行表达式的结果作为返回值。这种隐式返回的行为只适用于单行箭头函数,当函数体超过一行时,需要显式使用 return
关键字来指定返回值。
下面是一个示例,展示了箭头函数一行写法的隐式返回:
const add = (a, b) => a + b;
console.log(add(2, 3)); // 输出 5
在上面的示例中,箭头函数 add
接收两个参数 a
和 b
,并返回它们的和。由于箭头函数体只有一行表达式 a + b
,它会被隐式地作为返回值返回。
4.create-react-app和 vite 的区别
Create React App (CRA) 和 Vite 都是用于快速搭建现代化 React 应用程序的工具,但它们在实现和设计上存在一些区别。
Create React App (CRA) 是一个由 Facebook 提供的官方脚手架工具,旨在提供一个零配置的 React 应用程序开发环境。它使用了 Webpack 作为构建工具,并提供了一系列的默认配置,包括自动化的构建、开发服务器、热重载、代码拆分等功能。CRA 支持多种功能和工具,如代码分割、CSS 模块化、环境变量配置、测试等,并提供了一套标准的目录结构和开发流程。
相比之下,Vite 是一个由 Evan You(Vue.js 的作者)开发的现代化前端构建工具。Vite 的设计目标是快速的开发体验。它采用了 ES 模块的原生浏览器支持,利用现代浏览器的原生模块导入能力,实现了零配置的开发服务器和快速的热模块替换。Vite 使用 Rollup 作为构建工具,将代码在开发环境下按需编译为原生的 ES 模块,并通过浏览器中的原生模块导入加载。这种方式避免了传统的打包和构建过程,使得开发服务器启动和模块重载更加快速。
总体而言,CRA 更注重配置的封装和提供全面的开发工具链,适用于构建复杂的 React 应用程序。而 Vite 则更注重开发体验的快速和模块化的构建方式,适用于快速原型开发和小型项目。
选择使用哪个工具取决于你的具体需求和偏好。如果你需要一个全功能的开发环境和配置的灵活性,CRA 是一个不错的选择。如果你更关注开发体验的速度和模块化的构建方式,Vite 是一个很好的选择,特别是对于较小规模的项目或快速原型开发。
5.安装 ohmyzsh 之后,node 命令报错command not found
这是因为 zsh 找不到我们的环境变量了,找不到 node 了
一般系统的环境变量配置文件是~/.bash_profile
而 zsh 的配置文件是~/.zshrc:在里面加上一句 source ~/.bash_profile
接着编辑~/.bash_profile加入:
export PATH="./node_modules/.bin:$PATH"
export PATH="/bin:/usr/bin:/usr/local/bin:${PATH}"
接着运行source ~/.bash_profile 即可让配置生效,解决问题。
几个常用的命令:
npm -g bin 查看 node 的目录(帮助我们配置环境变量,一般是在/usr/local/bin)
echo $PATH 查看当前所有环境变量