把之前项目中遇到的问题和知识点整理了一下,也做了一些思考,当问题解决了就不是问题了~哈哈哈
实现一个兼容性的拖拽功能,其中涉及到一些值得注意的知识点!!!
常用的一些正则表达式整理了一下,在这里分享一下。给自己留个底,也给朋友们做个参考。
1. 一个新对象被创建。它继承自foo.prototype. 2. 构造函数 foo 被执行。执行的时候,相应的传参会被传入,同时上下文(this)会被指定为这个新实例。new foo 等同于 new foo(), 只能用在不传递任何参数的情况。 3. 如果构造函数返回了一个“对象”,那么这个对象会取代整个new出来的结果。如果构造函数没有返回对象,那么new出来的结果为步骤1创建的对象,ps:一般情况下构造函数不返回任何值,不过用户如果想覆盖这个返回值,可以自己选择返回一个普通对象来覆盖。当然,返回数组也会覆盖,因为数组也是对象。
之前一直没有明白JavaScript单线程和事件循环是什么,看过很多文章,看到了阮一峰老师对这个问题的讲解,这个问题对于我不再神秘~~
在调用Function对象作为新创建的对象的构造函数之前,prototype属性的值用于初始化新创建的对象的[[Prototype]]内部属性。该属性的属性为{[Writable]]:true,[[Enumerable]]:false,[[Configurable]]:false}。注意使用Function.prototype.bind创建的函数对象不具有prototype属性。
在JavaScript的世界里,所有代码都是单线程执行的。由于这个“缺陷”,导致JavaScript的所有网络操作,浏览器事件,都必须是异步执行。js中异步编程主要指的是setTimout/setInterval、DOM事件机制、ajax,通过传入回调函数实现控制反转。异步编程为js带来强大灵活性的同时,也带来了嵌套回调的问题。
Chrome浏览器提供了非常强大的JS调试工具,HeapProfiling是其中一个。HeapProfiling可以记录当前的堆内存heap快照,并生成对象的描述文件,该描述文件给出了当时JS运行所用到的所有对象,以及这些对象所占用的内存大小、引用的层级关系等等。这些描述文件为内存泄漏的排查提供了非常有用的信息。
七层模型(OSI,Open System Interconnection参考模型),是参考是国际标准化组织制定的一个用于计算机或通信系统间互联的标准体系。它是一个七层抽象的模型,不仅包括一系列抽象的术语和概念,也包括具体的协议。
响应式网页设计(RWD,Responsive Web Design)这个术语,由伊桑·马科特(EthanMarcotte)提出。将三种已有的开发技巧(弹性网格布局、弹性图片、媒体和媒体查询)整合起来,并命名为响应式网页设计。这个术语还有一堆表示相同意思的其他叫法,如流式设计、弹性布局、塑料布局、流体设计、自适应布局、跨设备设计以及弹性设计