window.sessionStorage可以在新窗口或新标签页共享数据吗?
sessionStorage 不能在多个窗口或标签页之间共享数据,但是当通过 window.open 或链接打开新页面时(不能是新窗口),新页面会复制前一页的 sessionStorage。
windows.open(, '_blank')
: A跳到B,B拷贝A的sessionstorage,互不影响。
windows.open(, '_self')
: A刷新到B,A和B共用sessionstorage,肯定影响。
link('_blank')
: A跳到B,B不拷贝A的sessionstorage,互不影响。
link('_self')
: A刷新到B,A和B共用sessionstorage,肯定影响。
vue3 watch和watchEffect的作用与区别?
watch()
用于观察单个或多个源数据的变化,并在数据变化时执行特定的回调函数。接受两个参数,第一个参数是要观察的数据源,第二个参数是当数据源发生变化时要执行的回调函数。watch()
的回调函数接收两个参数,分别是新值和旧值。
watchEffect()
立即运行一个函数,同时响应式地追踪其依赖,并在依赖更改时重新执行。与 watch()
不同,watchEffect()
不需要指定观察的数据源,它会自动跟踪在执行过程中用到的所有响应式源数据。
canvas用于判断的方法有哪几种?
isPointInPath()
:判断一个点是否在当前路径内部。isPointInStroke()
:判断一个点是否在当前路径的轮廓线上。isPointInFill()
:(仅在使用 clip()
方法后有效)判断一个点是否在当前裁剪区域内部。a标签rel属性有哪些值?
在HTML的a标签中,rel属性用于指定链接和所链接页面或资源之间的关系。以下是一些常见的rel属性值:
nofollow
:表示链接不会被搜索引擎追踪,即不会对链接目标的SEO排名产生影响。noreferrer
:表示点击链接时不会向链接目标发送Referrer信息,以保护用户隐私。noopener
:表示点击链接时会打开一个新的浏览器窗口,并将窗口的opener属性设置为null,以避免窗口劫持攻击。external
:表示链接指向的页面或资源位于当前网站以外,有利于用户区分内部链接和外部链接。author
:表示链接目标内容的作者或版权方与当前页面有关联。除了这些常见的rel属性值之外,还可以自定义rel属性来表达其他关系,例如license
、tag
等。在使用rel属性时,应根据实际情况选择合适的属性值,以增强链接的语义化和可读性。
如何提高浏览器性能?
typescript import和import type的区别?
两者的主要区别是:
示例:
编译结果:
test和includes哪个性高更高?
在 JavaScript 中,test()
方法和 includes()
方法都是用于字符串的匹配操作。它们的区别如下:
test()
方法是 RegExp 对象的方法,用于检测字符串是否与指定的正则表达式匹配。返回值为 true 或 false。
includes()
方法是字符串对象的方法,用于检测一个字符串中是否包含另一个字符串。返回值为 true 或 false。
在性能方面,includes()
方法的性能更高,因为它是字符串对象的本地方法,执行效率更快;而 test()
方法需要先将正则表达式编译成 RegExp 对象,再进行匹配,相对较慢。但是,在进行匹配时,如果需要使用复杂的正则表达式,test()
方法可能会更加灵活和可控。
字符串转数字哪种方式性能最高?
测试数据,每秒操作数:
Number(str)
:150,000 ops/sec+str
:148,000 ops/secparseInt(str)
:120,000 ops/secparseFloat(str)
:125,000 ops/sec可以得出:
Number(str)
/ +str
:性能最高parseInt(str)
/ parseFloat(str)
:性能稍差,但更标准