前端零碎小知识
js 部分
export
- export 用于导出一个或多个变量、函数、类
- export default 用户导出一个默认的值
两者导出和导入
exprot
导出:
1 | // 导出多个命名的变量或函数 |
export
导入:
1 | import { name, greet } from './app.js'; |
export default
导出:
1 | // 导出默认的函数 |
export default
导入:
1 | import myFunction from './app.js'; |
concat
- concat 用于将多个字符串拼接成一个字符串
- concat 可以接受一个或多个参数,并在其中使用逗号分隔它们
- concat 返回一个字符串
使用方法:
1 | const str1 = 'Hello'; |
对象传递与引用
如果想在方法中给对象重新赋值,直接通过obj.属性值
这样子去修改,而不是通过obj={新对象}
这样子。
1 | /** |
原型减少内存
如果在对象中声明一个方法,不同的实例对象会开辟不同的方法内存,比如
1 | function User(name, age) { |
这样子在分别实例化u1
、u2
、u3
的时候都会开辟一个各自的方法内存,在控制台打印u1.sayHi === u2.sayHi
会输出false
每个函数都会自动附带一个属性
prototype
,这个属性的值是一个普通对象,称之为原型对象
每个实例属性的查找流程:
- 先看本身是否有该属性
- 如果没有查看隐式原型
这样一来上面的代码就可以写成下面这样子:
1 | function User(name, age) { |
call/apply
两者作用:改变 this
的指向
区别:
call | apply |
---|---|
第一个参数为指向的对象,后面依次为对应函数的参数 | 第一个参数为指向的对象,第二个参数为一个数组,里面内容依次为对应函数的参数 |
原型链
- 判断原型:
instanceof
- 获取隐式原型:
getPrototypeOf()
- 创建空原型对象(无proto):
Object.create()
- 改变隐式原型指向:
setPrototypeOf(obj, prototype)
(设置 obj 的隐式原型为 prototype)
css 部分
vue 部分
全局变量
vue3 项目引入全局变量
1 | main.js; |
在其setup
直接引用
1 | <script setup>import {inject} from 'vue'; inject('req_url')</script> |
评论
匿名评论
你无需删除空行,直接评论以获取最佳展示效果