JavaScript
Janewenhui
这个作者很懒,什么都没留下…
展开
-
闭包
文章目录闭包什么是闭包函数?闭包三个特性闭包的缺点闭包小案例1. 希望一个局部变量长期驻扎在内存中2. 避免全局变量的污染3. 私有成员的存在闭包闭包是JavaScript语言的一大特点,主要应用场合为:设计私有的方法和变量。什么是闭包函数?理解闭包前,需要先理解 全局作用域 和 局部作用域 的区别。函数内部可以访问全局作用域下定义的全局变量,而函数外部却无法访问到函数内部定义(局部作用域)的局部变量。概念: 闭包(closure)是定义在一个外部函数内部,并且能够访问外部函数中变量的函数。原创 2020-12-28 11:52:16 · 167 阅读 · 0 评论 -
递归函数
文章目录递归函数1. 求阶乘2. 多维数组遍历递归函数所谓的 递归函数 就是在函数体内调用本函数。使用递归函数一定要注意,处理不当就会进入死循环,造成堆栈溢出。在函数内部直接或间接引用自身。每个递归函数里必定会有终止条件。1. 求阶乘function factorial(c){ if(c == 0){ return 1; }if(c == 1){ return c; }else{ return c * factorial(c-1); }原创 2020-12-28 11:25:14 · 216 阅读 · 0 评论 -
回调函数
文章目录回调函数1. 把一个函数的指针作为另一个函数的参数2. 把函数整体作为参数传进去3. 传参给回调函数4. 在执行回调的时候确保它是个函数回调函数js代码会至上而下一条线执行下去,但是有时候我们需要等到一个操作结束之后再进行下一个用户操作,这时候就需要用到回调函数来控制下一个操作的功能。回调函数:把一个函数的指针作为另一个函数的参数,当调用这个参数时,这个函数就叫 回调函数 。1. 把一个函数的指针作为另一个函数的参数function A(callback) { callback原创 2020-12-28 11:08:05 · 194 阅读 · 0 评论 -
作用域、作用域链、预解析
文章目录环境作用域1. 全局作用域用 var 声明 和不用 var 声明直接赋值的区别:什么情况下声明的变量具有全局作用域2. 局部作用域(函数作用域)什么情况下声明的变量具有局部作用域[ES6] 块级作用域: {}函数声明与块级作用域作用域链预解析js中变量名与函数名重名的问题环境指JavaScript代码运行的地方宿主环境: 指支持JavaScript运行的平台或软件,一般指浏览器执行环境: 定义了变量或函数有权访问的其他数据,决定了它们各自的行为全局环境:整个页面函数环境:一个函数原创 2020-12-28 10:15:58 · 157 阅读 · 0 评论 -
对象详解
文章目录一、对象的组成二、对象的创建new操作符具体做了什么?instanceof关键字三、对象的增删改查1. 增(给对象增加一个新的属性或方法)2. 查(访问属性、方法)3. 改(修改属性和方法)4. 删(删除对象或者对象上的属性方法)四、ES6对象的遍历1. for in 循环2. Object.keys(obj)3. Object.getOwnPropertyNames(obj);4. Object.getOwnPropertySymbols(obj);5. Reflect.ownKeys(obj);原创 2020-12-23 11:10:56 · 282 阅读 · 0 评论 -
深拷贝实现方法
文章目录1. 递归遍历2. 通过对象转换成字符串,字符串再转换成对象1. 递归遍历递归遍历,逐层拷贝。 因为基础类型可以直接拷贝,所以通过递归遍历对象的每一层,全部得到基础类型后再拷贝。/* 1. 定义一个深度拷贝函数 * 2. 重新定义一个变量用来存放拷贝好的对象 * 3. 判断当前对象是不是一个对象,如果不是,直接返回 * 4. 如果是对象,逐层遍历 * 5. 最终返回新的变量* */var obj={ name:"张无忌", age:20, sex:"男",原创 2020-12-18 16:13:06 · 258 阅读 · 0 评论 -
鼠标事件之clientX(Y)、offsetX(Y)、screenX(Y)、pageX(Y)、x(y)的区别与使用详解
文章目录一、鼠标事件1. onclick2. onmousedown3. onmouseup4. onmousemove5. onmouseover6. onmouseout二、坐标1、clientX、clientY2、pageX、pageY3、screenX、screenY4、offsetX、offsetY5、x、y一、鼠标事件鼠标事件有下面这几种:1. onclick鼠标点击事件box.onclick = function(e){ console.log(e)}2. onmous原创 2020-12-18 02:39:23 · 594 阅读 · 0 评论 -
currentTarget 事件属性
定义和用法currentTarget 事件属性返回其监听器触发事件的节点,即当前处理该事件的元素、文档或窗口。在捕获和起泡阶段,该属性是非常有用的,因为在这两个节点,它不同于 target 属性。语法:event.currentTarget实例:下面的例子可获得哪个元素的监听器触发了事件:<p id="p">点击这个段落。警报箱将显示触发事件的元素</p><script type="text/javascript">function getEve原创 2020-12-17 17:31:31 · 434 阅读 · 0 评论 -
事件详解
文章目录一、事件基础1、事件驱动2、事件集合(1)鼠标事件(2)键盘事件(3)表单事件(4)其他事件二、事件高级1、绑定事件的方式(1)标签绑定事件(2)Document对象来绑定事件2、事件监听(1)绑定事件(2)移除事件绑定(3)事件监听的兼容写法3、事件对象(1)获取事件对象1)event对象是事件程序的第一个参数(IE8及以下不支持)2)直接使用event变量(火狐浏览器不支持,输出event未定义)3)兼容性写法(2)事件对象常用的方法和属性1)鼠标事件相关2)滚轮事件相关3)键盘事件相关4)其他原创 2020-12-17 16:50:56 · 1449 阅读 · 1 评论