首页 文章 精选 留言 我的

精选列表

搜索[前端性能],共10000篇文章
优秀的个人博客,低调大师

前端百题—— js中的包装对象

1 背景 有一个奇怪的现象不知道大家注意过没有,字符串、数字、布尔值都能够调用属性和方法,例如: const str = '123'; console.log(typeof(str)); // string console.log(str.toString()); // 123 const num = 123; console.log(typeof(num)); // number console.log(num.toString()); // 123 const bool = true; console.log(typeof(bool)); // boolean console.log(bool.toString()); // true 复制代码 看到这个现象,大家是不是感觉很奇怪,这与我们平时的想法是相悖的,毕竟我们认为基本类型上面是不存在属性和方法的,这个时候主角包装对象就出现了。 2 包装对象 JS 的数值,布尔,字符串类型的变量,在一定条件下,也可以自动变成对象,这就是原始类型的包装对象。包装对象其实是一种特殊的引用类型,其与引用类型的主要区别在于生命周期。 一般的引用类型在使用new创建其实例时,在执行流离开当前作用域之前一直都保存在内存中; 包装类型的对象只存在该行代码的执行瞬间,然后会立即被销毁。(也意味着在运行时不能为基本类型添加属性和方法) 3 包装对象后台执行流程 基本类型中的String、Number、Boolean在调用属性和方法的时候,后台是怎样执行的呢?其实整个过程可以简化为三步: 创建一个对象类型的实例,例如字符串则创建一个String类型的实例; 调用该实例对象上的特定方法; 销毁该实例。 以字符串为例,来演示该流程: const str = 'abc'; const strNew = str.substring(0, 2); 复制代码 在运行到str.substring(0, 2)的时候其实偷偷执行了以下三步: let strObj = new String(str); const strNew = strObj.substring(0, 2); strObj = null; 复制代码 4 扩展 包装对象和同样的原始类型的值相等吗? 不相等。因为包装对象是引用类型,原始类型是基本类型;包装对象的最大目的,首先是使得 JavaScript 的对象涵盖所有的值,其次使得原始类型的值可以方便地调用某些方法。 如何给基本类型添加属性和方法? 在基本包装对象的原型下面添加,每个对象都有原型。 同一个字符串调用两次相同的方法其包装对象相等吗? 不相等。调用结束后,包装对象实例会自动销毁。这意味着,下一次调用字符串的属性时,实际是调用一个新生成的对象,而不是上一次调用时生成的那个对象,这也说明了为什么不能直接给字符串、数字、布尔值添加属性和方法。 1.如果觉得这篇文章还不错,来个分享、点赞吧,让更多的人也看到 如果你觉得这篇文章对你有点用的话,麻烦请给我们的开源项目点点star: http://github.crmeb.net/u/defu 不胜感激 ! 来自 “开源世界 ” ,链接: https://ym.baisou.ltd/post/739.html ,如需转载,请注明出处,否则将追究法律责任。 ​​​​​​

优秀的个人博客,低调大师

2020年12月-前端基础-表格 table

表格 table(会使用) 为了让我们页面显示的更加整齐,我们需要学习三个表(表格、表单、列表) 理解: 能说出表格用来做什么的 表格的基本结构组成 表格作用: 存在即是合理的。 表格的现在还是较为常用的一种标签,但不是用来布局,常见显示、展示表格式数据。 因为它可以让数据显示的非常的规整,可读性非常好。 特别是后台展示数据的时候表格运用是否熟练就显得很重要, 一个清爽简约的表格能够把繁杂的数据表现得很有条理 ,虽然 div 布局也可以做到,但是总没有表格来得方便。 ps: 这些地方用表格,你会觉得很贴切。 1. 创建表格 在HTML网页中,要想创建表格,就需要使用表格相关的标签。 创建表格的基本语法: <table> <tr> <td>单元格内的文字</td> ... </tr> ... </table> 要深刻体会表格、行、单元格他们的构成。 在上面的语法中包含基本的三对HTML标签,分别为 table、tr、td,他们是创建表格的基本标签,缺一不可,下面对他们进行具体地解释 1.`table`用于定义一个表格标签。 2.`tr`标签 用于定义表格中的行,必须嵌套在`table`标签中。 3.`td` 用于定义表格中的单元格,必须嵌套在`<tr></tr>`标签中。 4.字母`td`指表格数据(table data),即数据单元格的内容,现在我们明白,表格最合适的地方就是用来存储数据的。 总结: 表格的主要目的是用来显示特殊数据的 一个完整的表格有表格标签(table),行标签(tr),单元格标签(td)组成,没有列的标签 <tr></tr>中只能嵌套<td></td> 类的单元格 <td></td>标签,他就像一个容器,可以容纳所有的元素 2. 表格属性 表格有部分属性我们不常用,这里重点记住 cellspacing 、 cellpadding。 我们经常有个说法,是三参为0, 平时开发的我们这三个参数 border cellpadding cellspacing 为 0 案例1: <table width="500" height="300" border="1" cellpadding="20" cellspacing="0" align="center"> <tr> <th>姓名</th> <th>性别</th> <th>年龄</th> </tr> <tr> <td>刘德华</td> <td>男</td> <td>55</td> </tr> <tr> <td>郭富城</td> <td>男</td> <td>52</td> </tr> <tr> <td>张学友</td> <td>男</td> <td>58</td> </tr> <tr> <td>黎明</td> <td>男</td> <td>18</td> </tr> <tr> <td>刘晓庆</td> <td>女</td> <td>63</td> </tr> </table> 3. 表头单元格标签th 作用: 一般表头单元格位于表格的第一行或第一列,并且文本加粗居中 语法: 只需用表头标签<th></th>替代相应的单元格标签<td></td>即可。 案例2: 效果图 代码: <table width="500" border="1" align="center" cellspacing="0" cellpadding="0"> <tr> <th>姓名</th> <th>性别</th> <th>电话</th> </tr> <tr> <td>小王</td> <td>女</td> <td>110</td> </tr> <tr> <td>小明</td> <td>男</td> <td>120</td> </tr> </table> th 也是一个单元格 只不过和普通的 td单元格不一样,它会让自己里面的文字居中且加粗 4. 表格标题caption 定义和用法 <table> <caption>我是表格标题</caption> </table> **注意: ** 1.`caption` 元素定义表格标题,通常这个标题会被居中且显示于表格之上。 2.`caption` 标签必须紧随 table 标签之后。 3.这个标签只存在表格里面才有意义。 5. 合并单元格(难点) 合并单元格是我们比较常用的一个操作,但是不会合并的很复杂。 5.1 合并单元格2种方式 跨行合并:rowspan="合并单元格的个数" 跨列合并:colspan="合并单元格的个数" 5.2 合并单元格顺序 合并的顺序我们按照 先上 后下 先左 后右 的顺序 5.3 合并单元格三步曲 1.先确定是跨行还是跨列合并 2.根据 先上 后下 先左 后右的原则找到目标单元格 然后写上 合并方式 还有 要合并的单元格数量 比如 : `<td colspan="3"> </td>` 3.删除多余的单元格 单元格 6. 总结表格 标签名 定义 说明 <table></table> 表格标签 就是一个四方的盒子 <tr></tr> 表格行标签 行标签要再table标签内部才有意义 <td></td> 单元格标签 单元格标签是个容器级元素,可以放任何东西 <th></th> 表头单元格标签 它还是一个单元格,但是里面的文字会居中且加粗 <caption></caption> 表格标题标签 表格的标题,跟着表格一起走,和表格居中对齐 clospan 和 rowspan 合并属性 用来合并单元格的 1.表格提供了HTML 中定义表格式数据的方法。 2.表格中由行中的单元格组成。 3.表格中没有列元素,列的个数取决于行的单元格个数。 4.表格不要纠结于外观,那是CSS 的作用。 5.表格的学习要求: 能手写表格结构,并且能简单合并单元格。 7. 拓展阅读@ 表格划分结构(了解) 对于比较复杂的表格,表格的结构也就相对的复杂了,所以又将表格分割成三个部分:题头、正文和脚注。而这三部分分别 用:thead,tbody,tfoot来标注, 这样更好的分清表格结构 注意: 1.`<thead></thead>:`用于定义表格的头部。用来放标题之类的东西。`<thead>` 内部必须拥有 `<tr>` 标签! 2.`<tbody></tbody>:`用于定义表格的主体。放数据本体 。 3.`<tfoot></tfoot>: `放表格的脚注之类。 4.以上标签都是放到table标签中。

资源下载

更多资源
腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

用户登录
用户注册