javascript
The_upside_of_down
这个作者很懒,什么都没留下…
展开
-
JS之手写XX
JS之手写XX手动实现bind、apply及bind手动实现new手动实现浅拷贝、深拷贝手动实现节流、防抖手动实现instanceof原理手动实现Object.create原理手动实现数据双向绑定手动实现ajax手动实现bind、apply及bind实现call()// 实现call方法Function.prototype.myCall = function(obj) { const args = [...arguments].splice(1); //拿到除了第一个参数外的所有参数原创 2021-04-19 18:38:10 · 386 阅读 · 0 评论 -
原生js实现对某一个结点的拖拽
// HTMLElement.offsetLeft 是一个只读属性,返回当前元素左上角相对于 HTMLElement.offsetParent 节点的左边界偏移的像素值。// HTMLElement.offsetParent 是一个只读属性,返回一个指向最近的(指包含层级上的最近)包含该元素的定位元素或者最近的 table,td,th,body元素。// MouseEvent.clientX 是只读属性, 它提供事件发生时的应用客户端区域的水平坐标 (与页面坐标不同)。window.onload =原创 2021-04-11 20:01:59 · 203 阅读 · 0 评论 -
原生js对DOM操作
原生js对DOM操作常见的添加、移除、复制、创建和查找节点。// 创建document.createElement('标签名');// 获取var div = document.querySelector('div');// 删除document.body.removeChild('标签名');// 移动document.body.replaceChild('标签名');// 复制document.body.cloneNode(true/false);// 查找document.g原创 2021-04-11 19:20:00 · 94 阅读 · 0 评论 -
javascript时间戳和日期字符相互转换
javascript时间戳和日期字符相互转换一、日期字符转换为时间戳// 日期字符转换为时间戳(以s为单位)二、时间戳转换为字符串一、日期字符转换为时间戳// 日期字符转换为时间戳(以s为单位)// 方法1 使用+new Date()// +new Date()相当于调用 Date.prototype.valueOf()方法;可返回日期的毫秒数;和Date.prototype.getTime()方法一样;var timestamps = new Date();var myDate = timest原创 2021-04-11 18:50:33 · 194 阅读 · 0 评论 -
JS的三大组成部分
JavaScript是一种属于网络的脚本语言,已经被广泛用于Web应用开发,常用来为网页添加各式各样的动态功能,为用户提供更流畅美观的浏览效果。通常JavaScript脚本是通过嵌入在HTML中来实现自身的功能的。JavaScript的三大组成部分是:1、ECMAScript:JavaScript的核心,描述了语言的基本语法(var、for、if、array等)和数据类型(数字、字符串、布尔、函数、对象(obj、[]、{}、null)、未定义),ECMAScript是一套标准,定义了一种语言(比如JS)转载 2021-04-11 16:53:10 · 647 阅读 · 0 评论 -
javascript中function前面加(/!/+/-/~的含义
自执行匿名函数常见格式:(function(){ /* code */ })(); 解释:包围函数(function(){ /* code */ })的第一对括号向脚本返回未命名的函数,随后一对空括号立即执行返回的未命名函数,括号内为匿名函数的参数。 作用:可以用它创建命名空间,只要把自己的所有代码都写在这个特殊的函数包装内,那么外部就不能访问,除非你允许(变量前加上window,这样该函...转载 2019-12-12 18:51:36 · 340 阅读 · 0 评论 -
JavaScript学习笔记之防抖与节流
防抖与节流:相同点:在不影响客户体验的前提下,将频繁的回调函数,进行次数缩减,避免大量计算导致页面卡顿。不同点:防抖是将多次执行变为最后一次执行,节流是将多次执行变为在规定时间内只执行一次。防抖:在规定时间内回调函数只能执行一次,如果在规定时间内又触发了该事件,则会重新开始算规定时间。其实就是延迟执行。应用场景:输入搜索联想,用户在不断输入值时,用防抖来节约请求资源 按钮点击...原创 2019-12-03 22:13:47 · 175 阅读 · 0 评论 -
JavaScript事件循环机制
javascript是一门单线程的非阻塞的脚本语言。单线程意味着javascript在执行代码的任何时候,都会只有一个主线程来处理所有的任务。那么js引擎怎样去实现?因为事件循环(eventloop)。1、同步和异步任务分别进入不同的执行场所,同步的进入主线程,异步的进入Event Table并注册函数。2、当指定的事情完成时,Event Table 会将这个函数移入Event...原创 2019-11-28 10:57:49 · 142 阅读 · 0 评论 -
JavaScript学习笔记之常见设计模式
一、单例模式单例模式(Singleton):又被称为单体模式,只允许实例化一次的对象类。有时也会用一个对象来规划一个命名空间,有条理的去管理对象上的属性和方法。比如,有一个需求,需要在活动页面实现新闻列表中的鼠标滑动特效。 function g(id){ return document.getElementById(id); } function...原创 2019-11-27 12:00:19 · 146 阅读 · 0 评论 -
JS中apply、call、bind的区别
使用 apply、call、bind 函数是可以改变 this 的指向的。使用applyvar a = { name : "Cherry", func1: function () { console.log(this.name) }, func2: function () { setTimeout( function () { this.func1() }.ap...原创 2019-11-25 12:50:26 · 101 阅读 · 0 评论 -
JavaScript学习笔记之reduce()数组方法
一、语法arr.reduce(function(prev,cur,index,arr){//....},init);含义arr:表示原数组 prev:表示上一次调用回调时的返回值,或者初始值init。 cur:表示当前正在处理的数组元素。 index:表示正在处理的数组元素的索引,若提供init值,则索引为0,否则索引为1; init:表示初始值。 常用参数为:prev...原创 2019-11-22 23:17:15 · 186 阅读 · 0 评论 -
JavaScript学习笔记之面向程序设计(OOP)
一、基于原型的继承function Person(name,age){ this.name = name; this.age = age; } Person.prototype.hi = function () { console.log('Hi,my name is'+this.name+",I am "+this.age+"years...原创 2019-11-22 18:52:40 · 128 阅读 · 0 评论 -
JavaScript学习笔记之函数概述
一、函数调用方法直接调用:foo(); 对象方法:o.method(); 构造器:new Foo(); call/apply/bind:func.call(o);二、创建函数的方式函数声明 function add(a,b){ //内容} 函数表达式 var add = function(a,b){} //赋值函数表达式(function(){...原创 2019-11-21 22:10:51 · 110 阅读 · 0 评论 -
JavaScript学习笔记之数据类型
一、基本数据类型number string boolean null undefined二、复杂数据类型object 其中object包含了function、date、array等三、隐式转换通常情况下‘+’起到拼接作用,‘-’号起到转换为数值的作用。 巧用+/-规则转换类型。例如:num-0转换为数值,num+''转换为字符串类型。 等于和严格等于。四、包装对象...原创 2019-11-21 12:43:19 · 103 阅读 · 0 评论 -
JS事件代理(事件委托)
基本概念事件代理,又称之为事件委托。是js中常用绑定事件的常用技巧。顾名思义:“事件代理”就是把原本需要绑定在子元素的响应事件(click、keydown.....)委托给父元素,让父元素担当事件监听的职务。事件代理的原理就是DOM元素的事件冒泡。举个例子:比如一个宿舍的同学快递同时到了,一种方法就是一个一个去取,还有一种方法就是把这件事情委托给宿舍长,让一个人去拿所有的快递,然后再根...原创 2019-11-18 22:28:48 · 315 阅读 · 0 评论 -
JS错误处理机制-try、catch、finally和throw
一、JS遇到错误当js引擎执行js程序时,会发生各种错误。1、可能是语法错误,通常是程序员造成的编码错误或者错别字。2、可能是拼写错误或语言中缺少的功能(可能由于浏览器的差异)。3、可能是由于来自服务器或用户的错误输出而导致的错误。4、可能是由于许多其他不可预知的因素。二、JS抛出错误当错误发生时,当事情出问题时,js引擎通常会停止执行,并抛出一个错误消息。使用th...转载 2019-11-18 21:11:10 · 653 阅读 · 0 评论