JavaScript
Dreamlandzxx
这个作者很懒,什么都没留下…
展开
-
Java和JavaScript的区别
Java是面向对象的语言,JavaScript是脚本语言,是基于对象和事件驱动的语言。 Java的源代码在执行之前必须经过编译,而JavaScript的代码不需要,可以由浏览器直接解释执行。 Java变量在使用之前必须声明,反之不要。 Java变量定义时必须说明类型属于强类型语言,JavaScript不需要属于弱类型语言。 代码的格式不一样。...原创 2021-11-18 16:48:27 · 1142 阅读 · 0 评论 -
$(document).ready() 与window.onload的区别
1.执行时间window.onload必须等到页面内包括图片的所有元素加载完毕后才能执行。$(document).ready()是DOM结构绘制完毕后就执行,不必等到加载完毕。2.编写个数不同 window.onload不能同时编写多个,如果有多个window.onload方法,只会执行一个 $(document).ready()可以同时编写多个,并且都可以得到执行3.简化写法 window.onl...原创 2021-11-12 21:50:33 · 622 阅读 · 0 评论 -
如何判断JS中两个对象是否相等?
① 方法一:通过JSON.stringify(obj)来判断两个对象转后的字符串是否相等优点:用法简单,对于顺序相同的两个对象可以快速进行比较得到结果缺点:这种方法有限制就是当两个对比的对象中key的顺序不是完全相同时会比较出错② 方法二:Object.getownPropertyNames()1.用Object.getOwnPropertyNames拿到对象的所以键名数组2.比对键名数组的长度是否相等3.比对键名对应的键值是否相等缺点:对象属性是对象的情况要进行递归未递归情况:原创 2021-08-12 16:56:43 · 4510 阅读 · 0 评论 -
BOM对象
BOM是browser object model的缩写,简称浏览器对象模型 ,提供了独立于内容而与浏览器窗口进行交互的对象;1、window对象 ,是JS的最顶层对象,其他的BOM对象都是window对象的属性;2、document对象,文档对象;3、location对象,浏览器当前URL信息;4、navigator对象,浏览器本身信息;5、screen对象,客户端屏幕信息;6、history对象,浏览器访问历史信息;...原创 2021-08-03 15:05:56 · 74 阅读 · 0 评论 -
解决跨域问题的方法
1.跨域资源共享(CORS)主要就是通过设置Access-Control-Allow-Origin来进行的。如果浏览器检测到相应的设置,就可以允许Ajax进行跨域的访问。只需要在后台中加上响应头来允许域请求!在被请求的Response header中加入以下设置,就可以实现跨域访问了!//指定允许其他域名访问'Access-Control-Allow-Origin:*'//或指定域//响应类型'Access-Control-Allow-Methods:GET,POST'//响应头设置原创 2021-07-25 14:53:22 · 155 阅读 · 0 评论 -
性能优化的方法
减少 HTTP 请求使用内容发布网络(CDN)添加本地缓存压缩资源文件将 CSS 样式表放在顶部,把 javascript 放在底部(浏览器的运行机制决定)避免使用 CSS 表达式减少 DNS 查询使用外部 javascript 和 CSS避免重定向图片 lazyLoad...原创 2021-07-25 14:34:46 · 96 阅读 · 1 评论 -
数组去重的几种方法
法一:indexOf 循环去重法二:ES6 Set 去重;Array.from(new Set(array))法三:Object 键值对去重;把数组的值存成 Object 的 key 值,比如Object[value1] = true,在判断另一个值的时候,如果 Object[value2]存在的话,就说明该值是重复的。...原创 2021-07-23 20:43:56 · 314 阅读 · 0 评论 -
理解CommonJS、AMD、CMD三种规范
这三个规范都是为Js模块化加载而生的,使模块能够按需加载,使系统同庞杂的代码得到组织和管理。模块化的管理代码使多人开发得到了更好的合作。一、CommonJS核心思想一个单独文件就是一个模块,通过require方法来同步加载要依赖的模块,然后通过extports或则module.exports来导出需要暴露的接口。缺点:加载模块是同步的,只有加载完成后才能执行后面的操作,也就是当要用到该模块了,现加载现用,不仅加载速度慢,而且还会导致性能、可用性、调试和跨域访问等问题。Node.js主要用于服务原创 2021-07-22 22:45:18 · 262 阅读 · 1 评论 -
垃 圾 回 收 机制
垃圾回收机制:当一个对象是无用的时候,可以把它所占用的内存释放掉了。常用的垃圾回收机制方法:标记清除、引用计数标记清除:垃圾回收器在运行的时候会给存储在内存中的变量都加上标记(所有都加),然后去掉环境变量中的变量,以及被环境变量中的变量所引用的变量(条件性去除标记),删除所有被标记的变量,删除的变量无法在环境变量中被访问所以会被删除,最后垃圾回收器,完成了内存的清除工作,并回收他们所占用的内存。引用计数:当声明了一个变量,并用一个引用类型的值赋值给改变量,则这个值的引用次数为 1,;相反的,如原创 2021-07-22 22:29:19 · 114 阅读 · 0 评论 -
防抖和节流
防抖:如果短时间内大量触发同一事件,只会执行一次函数。//简单的防抖动函数functiondebounce(func,wait,immediate){端交//定时器变量vartimeout;returnfunction(){//每次触发scrollhandler时先清除定时器clearTimeout(timeout);//指定xxms后触发真正想进行的操作handlertimeout=setTimeout(func,wait);};};//实际想绑定在scroll事件上的ha.原创 2021-07-22 22:22:05 · 73 阅读 · 0 评论 -
mouseover 和 和 mousenter 的 的 区别
mouseover:当鼠标移入元素或其子元素都会触发事件,所以有一个重复触发,冒泡的过程。对应的移除事件是mouseoutmouseenter:当鼠标移除元素本身(不包含元素的子元素)会触发事件,也就是不会冒泡,对应的移除事件是mouseleavemouseover支持事件冒泡,而mouseenter不支持事件冒泡...原创 2021-07-22 21:43:36 · 212 阅读 · 0 评论 -
new运算符的执行过程
新生成了一个对象 链接到原型 绑定 this 返回新对象function _new() { // 创建一个新对象 let newObj = {}; // 获取构造函数 let Constructor = Array.prototype.shift.call(arguments); // 设置空对象的原型 newObj.__proto__ = Constructor.prototype; // 使用apply绑定this,执行构造函数 C原创 2021-07-21 11:55:07 · 217 阅读 · 0 评论