课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
随着互联网的不断发展,程序员在提高自身能力上也需要学习更多的编程语言和技巧,下面我们就一起来了解一下,关于JavaScript编程开发都有哪些编程技巧。
1,闭包是如何形成的?优缺点?引起内存泄漏的原因?
形成原理:
嵌套函数被返回,被外部的变量引用,或者作为外部对象的属性时,形
成闭包。 形成闭包之后,原本应该已经被垃圾回收的变量,都能继续使用。
优缺点:
1.保护函数内的变量安全,加强了封装性
2.在内存中维持一个变量(用的太多就变成了缺点,占内存)
原因:
1.在闭包的作用域链中引用了html元素未释放内存
2.出现了循环引用
2.html页面是如何呈现?JavaScript 回流(reflow)与重绘(repaint)(学渣的我,回流我就蒙了,不记得这专业名称)
如何呈现:
1,HTML文档加载后生成DOM树(包括display:none;元素);
2,在DOM树的基础上配合css样式结构体生成render树(不包含display:none;、head节点,包含visibility:hidden;节点),即页面中的占位确定了,后绘制页面(也叫渲染),不会改变页面布局的一些属性:color、背景色等。
重绘(repaint):
更新页面元素的属性引起的,如颜色、透明度等不会改变页面布局而需要重新渲染的。
回流(reflow)
render树中部分或全部元素的尺寸、布局、隐藏等(内容、结构、位置)改变引起的。每个页面至少有一次回流(即初始构建页面时),成本较高。
3.JavaScript-数据类型和变量?var let const三者的区别?
数据类型:
Number,字符串,布尔值,null,undefined,Symbol。数组,对象(这俩不知道算不算)
区别:
1、var
var定义全局变量和局部变量,也可以省略var,而且在非严格模式下不会报错,但是实际上在严格模式下,两者的使用有没有区别,可能很多人不清楚。例如循环,跳出循环依旧会有效,不报错。
2、let
let拥有块级作用域,一个{}就是一个作用域,也就是let声明块级变量,即局部变量;
let在其作用域下面不存在变量提升;
let在其作用域中不能被重复声明(函数作用域和块级作用域)。
3、const
const用来声明常量,一旦声明,其值就不可以更改,而且必须初始化。如果你非得修改变量的值,js不会报错,只是默默表示失败(不起作用)。
4,JavaScript之面向对象的属性和特性?
对象的本质:
无序属性的集合,其属性可以包含基本值、对象或者函数。即对象是一组没有特定顺序的值,对象的每个属性或方法都有一个名字,而这个名字都映射到一个值。故对象的本质是一个散列表:其中是一组名值对,值可以是数据或函数。
对象包含:数据属性和访问器属性,他们的区别如下:
数据属性:一般用于存储数据数值,访问器属性不包含数据值;
访问器属性:多用于get/set操作,访问器属性不能直接定义,必须使用Object.defineProperty()来定义,且该属性具有set和ger特性。console对象的时候可看。
【免责声明】:本内容转载于网络,转载目的在于传递信息。文章内容为作者个人意见,本平台对文中陈述、观点保持中立,不对所包含内容的准确性、可靠性与完整性提供形式地保证。请读者仅作参考。