- 博客(58)
- 资源 (1)
- 收藏
- 关注
原创 Flex布局最后一行元素的对齐的解决方案
如果最后一行剩一个元素,默认会左对齐,如果剩4个元素,那就是正好两端对齐,所以我们需要考虑的就是剩2个或者3个的情况,但是为了统一,直接放置4个在末尾,高度为0,也不会占据高度,只是会额外的创建。宽度:由于每一个item元素没有设置margin,item宽度为24%,一行4个,就是96%,还剩4%的空白空间,这4%的空白空间平均分成了3分,才有了下面的间距。假如一行显示4个元素,最后一行在不够4个元素的时候,按照两端对齐显示,效果显得不好,我们希望假如最后一行不足4个元素的时候,默认从左向右排列。
2024-09-10 18:00:00
2027
1
原创 弹性容器Flex中的自动外边距(Auto Margins) 的作用
实现类似效果还有其他方法,比如弹性盒子的嵌套,或者用定位,但是这种方式代码简单,同时也具备响应式。的情况下,浏览器会为该元素的左侧自动分配剩余空间,结果是该元素会被推到容器的右侧。最后一个元素变成了右对齐,自动把剩余的空间全部变成了他的左外边距。很简单的例子,但是如果我给最后一个子元素设置设置一下。布局,简单设置一下内部子元素的宽度和高度。的效果是该方向的外边距尽可能大,直到填充。上的所有可用空间为止,在设置。吸收了所有可用空间,那么像。所以,如果我们设置了父容器的。同时内部的子元素设置了。
2024-09-06 15:09:53
1160
原创 JSONP解决前端跨域学习案例
如果服务器返回的不是图像数据,而是文本或其他类型的内容,浏览器通常会显示一个破损的图像图标(如果返回的内容是无法解析的)。浏览器会向这个URL发送一个HTTP GET请求,并将响应的内容作为图像数据进行渲染。代码之后,将其视为普通的JavaScript代码,并立即执行。属性指向一个外部资源时,浏览器会向该URL发送一个GET请求,并将返回的内容作为。浏览器将返回的内容视为普通的JavaScript代码执行是因为JSONP利用了。无论脚本的来源是同域还是跨域,浏览器都会加载并执行它。
2024-08-14 22:00:10
407
原创 CORS解决前端跨域案例学习
跨域的概念不再解释,直接演示下出现跨域的情况:</</</</</'click'=>fetchthenresponse=>jsonthendata=>'result'JSONstringify;;;</</</点击Fetch Data按钮,向请求数据${`);});打开浏览器直接输入回车,可以返回数据,而且没有任何错误。
2024-08-14 20:10:11
1516
原创 JavaScript中判断变量的类型
在 JavaScript 中有 8 种基本的数据类型(7 种原始类型和 1 种引用类型),它们分别是:原始类型/基本类型:,,,,,,引用类型/复杂类型:运算符返回参数的类型。当我们想要分别处理不同类型值的时候,或者想快速进行数据类型检验时,非常有用。对 的调用会以字符串的形式返回数据类型:注意:返回的结果是字符串,而且全部都是小写根据上面的结果可以发现,下面的六种基本类型以及函数类型,可以正确的区分:但是对于和,以及,以及,等类型,则不能更精细的区分,返回的都是。其中 会返回 —— 这是
2024-08-06 23:48:24
733
1
原创 CJS与ESM:ESM
由于 ES6 输入的模块变量,只是一个“符号连接”,所以这个变量是只读的,对它进行重新赋值会报错。还是要看大佬的文章啊,网上看一堆文章不如直接看阮老师的。,并且不会缓存值,模块里面的变量绑定其所在的模块。加载的值也会跟着变。因此,ES6 模块是。语法实现模块变量的导入和导出。可以获取到被修改后的值。ES6 模块的运行机制与。有点像 Unix 系统的“当模块内部的值被修改时,获取不到被修改后的值,换句话说,ES6 的。
2024-07-29 17:46:16
400
原创 CJS与ESM:CJS:二
根据代码的输出,可以发现修改的肯定是。不会改变,因为他们是值的拷贝。函数,在执行的时候,会修改。不会改变,他们是独立的。想要发生变化,就要重新。文件中的,内部引用了。
2024-07-29 17:03:26
163
原创 CJS与ESM:CJS
在1.js中,通过module.exports.的形式修改导出的数据时,可以发现导入文件中的数据也改变了,这是因为module.exports和m1,指向的内部地址是一样的,类似于对象的浅拷贝,相互之间会产生影响。总结一下,实际上通过require()导入对象时,会执行一次文件,然后返回的是导出对象值的拷贝,如果是基本类型,就是复制了一份,如果是对象类型,就是返回了导出对象module.exports的内存地址。假设导出的对象是一个对象类型,对象内部的属性有原始类型,也有复杂类型时。
2024-07-25 17:25:45
654
原创 js的深拷贝和浅拷贝
a.friend属性值是一个引用类型,拷贝的是这个对象的地址,实际上a.friend 和 b.friend指向的是同一个对象obj(假设为obj),a.friend 和 b.friend保存的是obj的内存地址,我们通过该内存地址修改数据,再通过该内存地址找到这个数据,肯定是修改以后得数据了。,两个变量通过地址找到的对象是同一个对象,这时候如果通过一个变量修改对象数据时,再通过另一个变量访问数据,你会发现,数据也发生改变了,因为两个变量指向的都是同一个对象。或者使用ES6的扩展运算符拷贝对象,也是一样的。
2024-07-23 23:47:53
172
原创 script标签以及defer和async属性
async属性也只适用于外部脚本,浏览器同样会立即下载脚本,但是与defer不同的是,async的脚本不能保证按照它们出现的次序执行,而且当该脚本下载完成后就会立即执行该脚本。标签时,首先开始下载脚本,从脚本开始下载到脚本完成执行,整个过程中,HTML的解析都是停止的。可以发现,对于async的脚本,脚本下载时,HTML仍然在解析,但是与defer不同的是,当脚本下载完成后立即就会执行脚本。可以发现,对于defer的脚本,脚本下载时,HTML仍然在解析,当HTML解析完成以后,开始执行脚本,即延迟执行。
2024-05-15 21:48:09
1326
1
原创 InvalidArgumentError: Input to reshape is a tensor with * values, but the requested shape has * [[{
TensorFlow遇到的问题:Input to reshape is a tensor with 2944256 values, but the requested shape has 1472128 [[{{node Reshape_1}}]] [Op:IteratorGetNext]
2022-08-19 15:37:03
2158
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人