Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >ES新特性与TypeScript、JS性能优化

ES新特性与TypeScript、JS性能优化

作者头像
deepcc
发布于 2021-01-05 07:01:29
发布于 2021-01-05 07:01:29
1.5K00
代码可运行
举报
文章被收录于专栏:deepccdeepcc
运行总次数:0
代码可运行

简答题

一、请说出下列最终执行结果,并解释为什么

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
var a = []
for (var i = 0; i < 10; i++) {
    a[i] = function () {
        console.log(i)
    }
}
a[6]() // 10
// var i 是全局作用域
// 循环结束后i的结果为10
// a[6]()调用的时候i的结果为10
// var i => let i后, a[6]()结果为6

二、请说出下列最终的执行结果,并解释为什么

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
var tem = 123;
if (true) {
    console.log(tmp);
    let tmp
}
// 报错 ReferenceError: Cannot access 'tmp' before initialization
// 同一作用域下,let声明后才能调用,if的{}内是同一作用域

三、结合ES6新语法,用最简单的方式找出数组中的最小值

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
var arr = [12, 34, 32, 89, 4]

console.log(Math.min(...arr)); 

四、请详细说明var,let,const三种声明变量的方式之间的具体差别

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
// var: 变量 1. 可以重复申明; 2. 作用域提升;3. 可以先赋值后声明

// let:变量 2、不能重复声明;2. 块级作用域内有效,3. 先声明后使用

// const :常量 1、必须初始化内存地址,而且不能更改;2. 可以修改引用类型部分

// ES2015 引入了两个重要的 JavaScript 新关键词:let 和 const 。
// 这两个关键字在 JavaScript 中提供了块作用域(Block Scope)变量(和常量)。
// 在 ES2015 之前,JavaScript 只有两种类型的作用域:全局作用域和函数作用域。
// 用法参见: https://www.w3school.com.cn/js/js_let.asp

五、请说出下列代码最终输出的结果,并解释为什么

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
var a = 10;
var obj = {
    a:20,
    fn(){
        setTimeout(() => {
            console.log(this.a);
        }, 0);
    }
}
obj.fn()

// 20
// 箭头函数的this用父级作用域,所以输出obj.a是20

六、简述 symbol 类型的用途

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
// 用于object对象添加唯一的属性
// 解决属性冲突、私有属性等
const obj = {
    [Symbol()]: 123
}
console.log(obj);

const a = Symbol.for('foo')
const b = Symbol.for('foo')
console.log(a === b);// true

console.log(Symbol.for(true) === Symbol.for('true')); // true

七、说说什么是浅拷贝,什么是深拷贝?

深拷贝和浅拷贝是只针对Object和Array这样的引用数据类型

浅拷贝只复制指向某个对象的指针,而不复制对象本身,新旧对象还是共享同一块内存。但深拷贝会另外创造一个一模一样的对象,新对象跟原对象不共享内存,修改新对象不会改到原对象。

八、请简述TypeScript与JavsScript之间的关系。

TypeScript由Microsoft开发的面向对象语言,TypeScript是 JavaScript 的超集,包含了 JavaScript 的所有元素,在TypeScript中可以运行JavaScript代码。

九、请谈谈你所认为的TypeScript优缺点

TypeScript语言的特点:

1.TypeScript由Microsoft开发的一种开源语言, 由Apache授权协议

2.TypeScript中拥有静态类型、类、模块、接口和类型注解

3.TypeScript同javascript一样易用易学,并可开发大型应用

JavaScript 的特点:

1.javascript 嵌入到网页上,就可以直接运行,不用编译,浏览器加载网页时,自动解析和运行。

2.javaScript 不支持继承和重载,但是采用创建对象时,就拥有现有对象的方式实现其继承。

3.javaScript 语法简介,变量类型简单(弱类型) 。

4.javaScript 由于只在浏览器中运行,不会访问客户端电脑中的信息,所以Js语言是一种安全的语言。

5.javaScript 是由事件驱动,由用户操作或某对象改变后触发相应的事件。

6.javaScript 运行环境为浏览器,所以无操作系统环境无关,从上我们可以看出javascript是一种跨平台的语言。

7.javaScript javascript可通过ajax技术实现同其它语言进行交互。

JavaScript 和 TypeScript不同点说明

1.TypeScript可以运行JavaScript所有代码和编码方式

2.使用TypeScript中一些新的概念,可使JavaScript开发变得容易和快捷

3.TypeScript 加入一些新的概念(类) 使javascript实现一些复杂功能变得容易

4.javascript 可以直接同Typescript一起运行,编译器会将Typescript代码转换为javascript

5.Typescript中有静态类型, javascrip则没有

6.TypeScript中每一个数据必须规定其数据类型,JavaScript不要求

7.TypeScript为函数提供了缺省参数值。

8.TypeScript中有模块的概念,可以封装数据 类 函数 声明等信息在模块里面

十、描述引用计数的工作原理和优缺点

原理:设置引用数,判断当前引用数是否为0,引用计数器中引用关系改变时修改引用数字,引用数字为0时立即回收

优点:发现垃圾时立即回收;最大限度减少程序暂停

确定:无法回收循环引用的对象;时间开销大(需要监控引用数字是否变化)

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
function fn() {
    const obj1 = {}
    const obj2 = {}
    obj1.name = obj2
    obj2.name = obj1
    return ''
}
fn()

十一、描述标记整理算法的工作流程

1. 标记整理可以看做是标记清楚的增强

2. 标记阶段的操作和标记清楚一致

3. 清除阶段会先执行整理,移动对象位置

十二、描述V8中新生代存储区垃圾回收的流程

1. 回收过程采用复制算法+标记整理;

2. 新生代内存区分为二个等大小空间;

3. 使用空间为From,空闲空间为To;

4.活动对象存储于From空间;

5. 标记整理后将活动对象拷贝至To

6. From于To交换空间完成释放

7.拷贝过程中可能出现晋升

8. 晋升就是讲新生代对象移动至老生代

9. 一轮GC还存在的新生代需要晋升

10. To空间的使用率超过25%

十三、描述增量标记算法在何时使用及工作原理

首层遍历对象标记结束后,和程序执行的交替执行

垃圾回收会阻塞程序执行

将一整段的垃圾回收拆分成多个小步骤组合完成垃圾回收

标记和程序交替执行

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021-01-03 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
分子对接简明教程 (一)
分子对接(Molecular Docking)理论 所谓分子对接就是两个或多个分子之间通过几何匹配和能量匹配相互识别找到最佳匹配模式的过程。分子对接对酶学研究和药物设计中有重要的应用意义。 分子对接计算是在受体活性位点区域通过空间结构互补和能量最小化原则来搜寻配体与受体是否能产生相互作用以及它们之间的最佳结合模式。分子对接的思想起源于Fisher E的”钥匙和锁模型”,主要强调的是空间形状的匹配。但配体和受体的识别要比这个模型更加复杂。首先,配体和受体在对接过程中会由于相互适应而产生构象的变化。其次,分子对
生信宝典
2018/02/05
15.7K0
分子对接简明教程 (一)
分子对接简明教程 (三)
Docking非原生配体 在前面的例子中,AutoDock Vina能把配体构象调整到几乎原生的构象,验证了这一预测方法的准确度。下面,我们尝试docking另外一个配体药物nelfinavir奈非那韦,来展示如何寻找小分子在蛋白内的结合位点。这个过程可以进一步地凝练和扩展作为“虚拟筛选(virtual screening)”的步骤。 重复上述步骤执行docking 获取nelfinavir.pdb:为教程提供的pdb文件(可从1OHR.pdb获得) 按照上述步骤对配体文件进行预处理获得pdbqt格式文件。
生信宝典
2018/02/05
5.8K0
分子对接简明教程 (三)
分子对接教程 | (9) VMD可视化对接结果
能够实现蛋白质三维结构可视化的软件非常多。比专业级的PyMOL(https://pymol.org/2/)。这个软件已经被世界上著名的生物医药软件公司“薛定谔公司(Schrödinger)”收购。这种专业级的可视化软件不仅能够做出非常漂亮的图片,它还有强大的插件支持各种各样的蛋白质结构分析,这款软件需要购买,如果你发表的文章里提到某些内容是使用PyMOL制作的,而文章中所有作者和作者单位都没有PyMOL的购买记录的话,你可能会面临薛定谔公司的追责。
DoubleHelix
2021/02/26
6.4K0
分子结构模拟工具UCSF Chimera的安装及基本操作
UCSF Chimera是一个用于分子结构和相关数据的交互式可视化和分析工具。主要包括:密度图,超分子组合,顺序排列,对接结果,轨迹和构象整合。也可以生成高质量图像和动画。
生信宝典
2021/12/01
5.5K1
分子结构模拟工具UCSF Chimera的安装及基本操作
分子对接简明教程 (4)
文件格式解释 PDB文件 (详细格式描述) 基本信息部分 HEADER记录: 包括分子的分类、提交日期、PDB ID TITLE记录: 为该结构的描述,如果有多行,除第一行外,其它行有连续的数字标示。 COMPND记录: 包含分子数目、名字、链特征、分子是如何获得的等。 SOURCE记录: 大分子的生物或化学来源 KEYWDS记录:关键字 EXPDTA记录:实验信息 JRNL记录:文献引用信息 REMARK记录:更为丰富的记录信息 HEADER HYDROLASE (ACID PROTEINASE)
生信宝典
2018/02/05
3.3K0
Pymol展示氢键
###1:蛋白导入 此次选用的蛋白为1STP可以直接从PDB官网下载文件,或者直接在命令行框中输入 fetch 1stp
DrugScience
2021/02/04
3.7K0
Pymol展示氢键
分子对接软件-Vina(作为Chimera插件使用)
简介: 使用Chimera进行vina的对接,本来是想使用,ADT或者pymol进行vina的对接,结果ADT的界面太丑(严重影响了我的心情?),中间还可能莫名的发生某些错误,而Pymol的第三方插件
DrugScience
2021/02/04
4K0
分子对接软件-Vina(作为Chimera插件使用)
autodock分子对接结果分析_分子对接公司
自己寻找一个受体+药物分子复合物体系(不同配体结合3-4个),然后拿复合物结构作为起始,做对接实验。 软件自选,Dock, AutoDock…
全栈程序员站长
2022/10/01
2.9K0
autodock分子对接结果分析_分子对接公司
分子对接简明教程 (二)
用PyMOL展示配体和受体相互作用的原子和氢键 为了简化展示过程,我们设计了一个pml脚本 (脚本内有很详细的解释),只需要修改脚本里面受体和配体的名字,然后在PyMOL的命令行界面输入PyMOL> run display.pml即可获得展示结果。当然这个脚本也可以使用程序generatePmlForHbond.py生成。 ############################################################ ###All one needs to do is repla
生信宝典
2018/02/05
2.8K0
分子对接—蛋白分子和小分子配体
将前两步获得的rep.pdb,lig.mol2文件复制到AutoDock的工作目录中
sheldor没耳朵
2024/11/30
7292
分子对接—蛋白分子和小分子配体
利用AutoDock进行水分子参与的分子对接
水分子在配体-蛋白质相互作用中的作用至关重要,AutoDock开发小组的研究人员设计了一种新的力场,可以优化水分子参与的分子对接,使得AutoDock程序能够自动预测水分子介导的配体蛋白结合方式,该力场考虑了离散水分子对配体结合的熵和焓贡献,提高了能量估算精度和对接性能。该方法无需事先知道蛋白与水分子的水合状态,在基于结构的药物发现过程中具有较大的应用价值。本文对AutoDock的水合对接方法的精度进行了总结,并且提供了如何利用最新版AutoDock进行水分子参与的分子对接教程。
智药邦
2022/04/13
1.4K0
利用AutoDock进行水分子参与的分子对接
分子对接教程 | (6) AutoDock对接操作与对接结果解读
接下来你可以按照下图设置显示形式,颜色按照前面的倒三角形里面选择显示二级结构,通过链显示颜色。
DoubleHelix
2021/02/26
19K3
榕树集-蛋白质阿尔法螺旋
A:蛋白质的螺旋结构可以按照不同的分类方法进行分类。以下是一些常见的螺旋结构分类:
DrugScience
2023/08/10
1K0
榕树集-蛋白质阿尔法螺旋
Pymol制作优质的蛋白配体结合图像--空间互补
###1:蛋白导入 此次选用的蛋白为1STP可以直接从PDB官网下载文件,或者直接在命令行框中输入 fetch 1stp
DrugScience
2021/02/04
1.2K0
Pymol制作优质的蛋白配体结合图像--空间互补
PyMol的使用
简单的记录一下pymol的使用,就当是今天的笔记了。 首先下载和安装的过程就一笔带过了 首先演示用pymol打开一个.pdb文件 这里我已经本地下载好一个7qbb.pdb的文件 用记事本打开就是如下图所示 点击pymol的file->open 然后在弹出的窗口选择我们要使用的pdb文件 然后点击打开 现在就是成功打开了这个pdb文件对应的蛋白质的结构 如果想知道该蛋白质的序列(sequence) 则点击: 就会出现蛋白序列 我们可以往后滑 就可以看到完整的序列 D
Tom2Code
2022/11/21
3.9K0
PyMol的使用
备忘:Pymol补全蛋白质氨基酸
为了能够调整两个结构到同一个坐标体系,这个时候就需要使用Pymol软件中的align命令了,也可以使用鼠标来实现。选中需要被align的结构,在A选项的下拉选项卡中选择align,并依次选择“align—to molecule—1ywtA”。这样就成功的将模板坐标和需要补全的分子结构调整到了同一个坐标体系。
用户1359560
2020/09/08
5.2K0
备忘:Pymol补全蛋白质氨基酸
两蛋白间的分子对接3—使用AlphaFold进行
据说AlphaFold进行分子对接比传统的蛋白分子工具如zdock、hdock的对接效果更好。因为AlphaFold是柔性对接,而其他是刚性对接或者半柔性对接。这次学习使用AlphaFold进行分子对接,以NEDD4L和TKTL1分子对接为例。
sheldor没耳朵
2025/04/08
1632
两蛋白间的分子对接3—使用AlphaFold进行
蛋白组学—两个蛋白质之间的分子对接
首先在https://www.uniprot.org/中搜索相关基因,如VTN,选择对应的种属,点击Entry编号,uniprot中可以直接跳转PDB数据库https://www.rcsb.org/(也可以复制编号,直接去PDB数据库中去检索),同理下载SLPI的最佳蛋白质结构。
sheldor没耳朵
2024/11/06
1.6K3
蛋白组学—两个蛋白质之间的分子对接
Nat. Comput. Sci.|KarmaDock:针对超大规模虚拟筛选的基于深度学习的分子对接方法
本文介绍一篇来自浙江大学侯廷军教授、谢昌谕教授、潘培辰研究员和之江实验室陈广勇研究员团队联合发表的关于分子对接方法的论文。该文章提出了一种基于深度学习的分子对接模型,KarmaDock,可以快速且准确的预测蛋白配体结合构象及其结合强度。该方法通过混合密度函数学习蛋白配体间最优距离分布用于结合强度打分,并将其作为归纳偏置,利用融合自注意力机制的EGNN模型来迭代更新分子坐标从而预测蛋白配体间结合构象。KarmaDock跳过了传统分子对接软件的构象搜索阶段,极大提升了分子对接的速度(0.017 s/complex),适用于超大规模的虚拟筛选。
DrugAI
2023/09/23
1.7K0
Nat. Comput. Sci.|KarmaDock:针对超大规模虚拟筛选的基于深度学习的分子对接方法
Pymol-基本指令
原始网址:https://pymolwiki.org/index.php/Biochemistry_student_intro >
DrugScience
2021/02/04
1K0
Pymol-基本指令
推荐阅读
相关推荐
分子对接简明教程 (一)
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验