- 博客(7)
- 收藏
- 关注
原创 2025.03.18 js学习 语言基础
而如果使用let声明迭代变量时,JavaScript引擎会在后台为每次迭代循环声明一个新的迭代变量,这样每个setTimeout引用的都是不同的变量i的实例。声明冗余报错不会因为昏庸let和var而受影响,两个关键字声明的并不是不同类型的变量,而只是指出变量在相关作用域中是否存在。let声明的变量不会在作用域中被提升,变量在没有用let和const声明之前,这些变量是不能被使用的。(1)声明作用域:使用var操作符定义的变量会成为包含他的函数的局部变量 (函数作用域)(3)for循环中的let声明。
2025-03-18 22:05:26
284
原创 2025.03.18 js学习 js脚本文件放置
也会告诉浏览器立即开始下载,但是async脚本并不能保证能按照他们出现的次序执行,有可能第二个脚本会先于第一个脚本执行。async的目的是告诉浏览器,不必等脚本下载和执行完后再加载页面,同样也不必等到某一个异步脚本下载和执行后再加载其他的异步脚本。但因为这种方式获取的资源对浏览器预加载器是不可见的,因此会严重影响他们在资源获取队列中的优先级。脚本会被延迟到整个页面都解析完毕在运行,defer属性就是告诉浏览器立即下载,但延迟执行。虽然这个脚本文件写在head里,但还是会在浏览器解析到结束的时候才会执行。
2025-03-18 11:15:26
442
原创 2025.03.17 Array(栈、队列、反转排序、操作方法等)
flatMap() 的函数签名与map()相同,但是flatMap()效率更高,因为浏览器指挥执行依次遍历。首先使用push添加,将两个字符串推入数组末尾,调用pop()时,会返回数组的最后一项。插入:splice(开始位置,0–删除元素数量,要插入的元素1,要插入元素2,…替换:splice(开始位置,删除元素数量,要插入的元素1,要插入元素2,…传给每个方法的函数接收3个参数:(数组元素,元素索引,数组本身)接收的4个参数:(上一个归并值,当前项,当前项的索引,数组本身)
2025-03-18 10:02:46
761
原创 2025.03.16 Array基本知识
所有对象都有toLocaleString()、toString()和valueOf()方法,其中 valueOf()返回的还是数组本身。而toString()返回由数组中每个值的等效字符串拼接而成的一个逗号分隔的字符串。在 JavaScript 中,浅复制和深复制是两种不同的对象或数组复制方式,它们的主要区别在于复制的深度和对嵌套对象或数组的处理方式。数组 length属性的独特之处在于,它不是只读的。如果把数组从一个框架传给另一个框架,则这个数组的构造函数将有别于在第二个框架内本地创建的数组。
2025-03-17 15:58:36
808
原创 2025.3.15 js学习Map
与插人不同,从大型 Object 和Map中查找键-值对的性能差异极小,但如果只包含少量键-值对则object有时候速度更快。在把object当成数组使用的情况下(比如使用连续整数作为属性),浏览器引擎可以进行优化,在内存中使用更高效的布局。但很多时候,这都是种讨厌的或不适宜的折中。Object和Map的工程级实现在不同浏览器间存在明显差异、但存储单个键-值对所占用的内在数量都会随键的数量线性增加。不同浏览器的情况不同,但给定固定大小的内存,Map大约可以比object多存储50%的键-值对。
2025-03-15 21:28:37
752
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅