javascript
zhang070514
不喜欢运动的程序员不是好的工程师!
展开
-
elementUI el-tree选中某一项后收起展开的数据
el-tree选中某一项后收起展开的数据原创 2023-03-08 09:25:18 · 434 阅读 · 0 评论 -
Object 对象的相关方法
Object对象的相关方法原创 2022-06-02 17:15:17 · 233 阅读 · 0 评论 -
js对象数组的操作
js删除数组中对象属性值重复的元素原创 2022-03-09 14:10:56 · 620 阅读 · 0 评论 -
JavaScript基础—对象
在JavaScript中有8种数据类型(7种基本数据类型和1种复杂数据类型),其中Object(对象)是复杂数据类型。一、创建对象创建对象有两种方式:1、构造函数的方式let user = new Object()2、字面量方式let user = {}使用字面量的方式创建对象就是将一些属性以键值对的形式放到{}中。 let user = { name: 'zhang', // 键"name", 值"zhang" age: 29 //原创 2021-05-19 14:52:45 · 97 阅读 · 0 评论 -
正则表达式相关方法
我们知道字符串(String)和ReExp对象都提供了使用正则表达式的方法,分别有什么呢?一起来总结一下吧。String支持4种使用正则表达式的方法。str.search(regexp)方法str.search(regexp)返回第一个匹配项的位置,如果未找到,则返回-1 var result = 'javascript'.search(/script/) console.log(result) // 4str.replace(str|regexp,str|func)方法str.r原创 2020-09-06 17:15:39 · 952 阅读 · 0 评论 -
JavaScript基础之冒泡/捕获事件
JavaScript的冒泡事件和捕获事件是每一个前端开发者都会经常遇到的问题。最近遇到这个问题时,发现自己对它们还是一知半解,现在是时候该彻底的弄懂它们了。1、定义一个事件发生后,会在子元素和父元素之间传播。这种传播分成三个阶段:第一阶段:从window对象传导到目标节点(外层传到内层),称为“捕获阶段”。第二阶段:在目标节点上触发,称为“目标阶段”。第三阶段:从目标节点传导回window对象(从内层传回外层),称为“冒泡阶段”2、应用本文中我们用addEventListener() 方法原创 2020-09-01 20:37:18 · 203 阅读 · 0 评论 -
每天24点删除cookie
最近做项目遇到这样一个需求:用户每天第一次打开页面时显示蒙层,以后打开就不再显示。 解决方法就是设置一个标志放在cookie里,页面加载时判断当前cookie中有没有此标志,如果没有就显示蒙层,同时把标志放入cookie中,并设置当天24点过期;如果有就不显示蒙层。 下面是设置cookie过期时间是当天24点的代码:var curDate = n原创 2020-05-22 09:47:15 · 685 阅读 · 0 评论 -
call、apply了解一下
对javascript的call()和apply()这两个方法可以说是既熟悉又陌生,熟悉的是经常会在面试或是平常开发中会遇到,陌生的是对它俩一直是一知半解。刚好最近工作不是太忙,抽出时间来学习一下这两个方法。1、定义在javascript中,call和apply都是为了改变某个函数运行时的上下文(context)而存在的,换句话说,就是为了改变函数体内部this的指向。 function ...原创 2019-12-22 11:50:31 · 190 阅读 · 0 评论 -
面试官:如何实现深拷贝
写在前面 深拷贝应该是前端面试中经常被问到的问题之一,搞定它可以让我们在面试中如鱼得水。那么什么是深拷贝呢?它和浅拷贝有什么区别呢?如何实现一个深拷贝?相信看完这篇文章你就能回答上面的问题了。一、简单解释 我们都知道js的数据类型包括两种:基本数据类型和引用数据类型。我们今天所说的深拷贝和浅拷贝都只针对引用数据类型,浅拷贝只复制指向某个对象的指针,而不复制对象本身,新旧对象还是共享同一块内...原创 2019-11-06 10:37:13 · 368 阅读 · 0 评论 -
js实现IE9及以下对placeholder的兼容性
在做项目的时候,发现input的placeholder属性只支持i9以上的浏览器,ie9以下的就不显示信息提示了,体验很不好。最后自己用js实现了i9及以下placeholder的效果。实现效果很简单,先说一下思路:使用下面这个方法判断ie是否支持placeholder属性 function placeholderSupport() { return 'place...原创 2019-05-12 11:57:27 · 644 阅读 · 0 评论 -
原生js实现select下拉框选择
最近在做一个项目需要兼容到ie不同版本,在使用select时遇到了各种问题。后来索性就自己使用原生js实现了这样一个下拉框,话不多说,直接上代码吧。<html lang="en"><head> <meta charset="UTF-8"> <title>自定义select</title></head>&...原创 2019-05-09 18:44:15 · 39393 阅读 · 4 评论 -
js实现Map结构
function myMap(){ var length = 0; var obj = new Object(); /*判断对象中是否包含给定的key*/ this.containsKey=function(key){ return (key in obj) } /*向map中添加数据*/ this.put = function(key,value){ ...原创 2018-11-12 21:39:25 · 1259 阅读 · 0 评论 -
JS继承
最近在面试中被问到js的继承,当时回答的不太好,所以今天特别总结一下。我们先来看一个基于原型链的继承 //父类 function Person(){} //子类 function Student(){} //继承 Student.prototype = new Person();我们只要把子类的prototype设置为父类的实例,就完成了继承,也就是js里面的原型链继承。接...原创 2018-11-11 11:05:41 · 8509 阅读 · 6 评论 -
js复习二之事件
1、事件的传播一个事件发生后,会在子元素和父元素之间传播。这种传播分为是三个阶段。第一阶段:从window对象传到到目标对象(上层传到底层),称为“捕获阶段”。第二阶段:在目标节点上触发,称为“目标阶段”。第三阶段:从目标节点传到回window对象(从底层传回上层),称为“冒泡阶段”。阻止事件传播,使用事件对象的stopPropagation方法。//html代码<div ...原创 2018-09-26 10:55:14 · 128 阅读 · 0 评论 -
理解setTimeout()
1、setTimeout() setTimeout函数用来指定某个函数或某段代码,在多少毫秒之后执行。它返回一个整数,表示定时器的编号,以后可以用来取消这个定时器。 setTimeout函数接受两个参数,第一个参数func|code是将要推迟执行的函数名或者一段代码,第二个参数delay是推迟执行的毫秒数。 注意:如果回调函数是对象的方法,那么setTimeout使得方法内部的this关键...原创 2018-09-18 09:16:53 · 2128 阅读 · 1 评论 -
js复习一
1、break和continue区别 break语句用于跳出代码块或循环; continue语句用于立即终止本轮循环,返回循环结构的头部,开始下一轮循环。2、JavaScript共有六种数据类型,分别是数值(number)字符串(string)布尔值(boolean)undefinednull对象(object)ES6又新增了第七种Symbol类型。3、typ...原创 2018-09-17 15:39:33 · 271 阅读 · 0 评论 -
js逻辑运算符短路操作
js逻辑运算符有三个:逻辑非!、逻辑与&&、逻辑或||。所谓短路操作就是, 当&&的第一个操作数的值是false时,直接返回第一个操作数的值,不再对第二个操作数进行计算; var bar1 = 0&&c; console.log('bar1====='+bar1); //bar1=====0 var foo1 =...原创 2018-02-24 11:05:33 · 3425 阅读 · 1 评论 -
解决js浮点数计算不准确问题
最近在学习electron框架,想利用这个框架做一个简单的计算器demo。当我对小数进行运算时,发现了一个问题。 0.1+0.2=? 输出结果是:0.30000000000000004。 为什么会这样呢? 其实对于浮点数的四则运算,几乎所有的编程语言都会有类似精度误差的问题,只不过在 C++/C#/Java 这些语言中已经封装好了方法来避免精度的问题,而 JavaScr原创 2017-09-26 17:24:00 · 7970 阅读 · 0 评论 -
js创建自定义对象的几种方式
js创建对象的几种方式原创 2017-08-27 17:26:26 · 9959 阅读 · 1 评论