
javascript
文章平均质量分 56
DayDreamWMM
这个作者很懒,什么都没留下…
展开
-
构造函数/原型链/组合/寄生继承
JavaScript继承机制: JavaScript是基于原型链继承的语言,当访问一个属性或者方法的时候,js会沿着原型链依次往上寻找,直到找到相关的值,或者查找到Object.proto === null, 返回undefined值。有时候,可能需要我们自己去实现类之间的继承,下面是几种继承方法,从上往下,继承方式呈逐渐优化趋势。父函数和子函数// 父函数function Person(sex) { this.sex = sex console.log(count++)}//原创 2020-06-18 23:49:25 · 205 阅读 · 0 评论 -
instanceof
instanceof定义: instanceof运算符用于检测构造函数的prototype属性是否出现在实例对象的原型链上。示例代码:function Car(make, model, year) { this.make = make; this.model = model; this.year = year;}const auto = new Car('Honda', 'Ac...原创 2020-03-25 13:12:21 · 170 阅读 · 0 评论 -
判断实例对象类型typeof/instanceof/Object.prototype.toString.call
判断实例对象类型有三种方式typeofinstanceofObject.prototype.toString.call(arrName)typeof: 可以判断出实例的类型,但是不能区分null,typeof null === objectconsole.log(typeof null) // objectinstanceof 用于检测构造函数的prototype属性是否出现在某...原创 2020-03-18 11:44:04 · 235 阅读 · 0 评论 -
JavaScript--创建对象的方法总结
JavaScript常被描述为一种基于原型的语言–每个对象拥有一个原型对象,对象以其原型为模板,从原型集成方法和属性。原型对象也可能拥有原型,并从中继承方法和属性,一层一层,以此类推。这种关系常被称为原型链,它解释了为何一个对象会拥有定义在其他对象中的属性和方法,准确的说,这些属性和方法是定义在Object的构造函数上的prototype属性上。传统的OOP中,首先定义“类”,此后创建对象实例...原创 2018-09-10 18:21:52 · 249 阅读 · 0 评论 -
JavaScript原型及继承
我们创建的每个函数都有一个prototype(原型)属性,这个属性是一个指针,指向一个对象,这个对象叫做原型对象,用途是包含可以由特定类型的所有实例共享的属性和方法。如果按照字面意思来理解,那么prototype就是通过调用构造函数而创建的那个对象实例的对象原型。不知道你是不是明白这个字面意思,我第一次看是不怎么明白,从头捋一遍创建实例的过程:创建对象的时候,调用构造函数,构造函数有一个pro...原创 2018-09-10 22:17:19 · 402 阅读 · 0 评论 -
canvas画任意角度的扇形,弧形,及扇形弧形填纯色渐变色
前提:接到一个需求,某个事项的完成率用环形表示,小于100%时,每隔25%为一种纯色填充,完成率100%的时候,整个环形为渐变色填充。开始是用的echarts,知道canvas是画图工具,但是之前没看过,也懒得学了。但是echarts对环形的填充只能是不同的纯色,没有找到渐变色填充的选项,产品经理不是很满意,今天就用canvas试了试。canvas,真好用哦。。。完成代码这是一份较粗略的代码...原创 2018-10-14 17:05:01 · 8987 阅读 · 0 评论 -
cordova调用定位并用BMap转为具体地址代码
版本号 1.0.0原创 2018-12-12 17:57:42 · 322 阅读 · 1 评论 -
Cordova+Vue打包APP
打包APP步骤:(除非特殊说明,以下步骤均为Windows环境)1.安装node环境2.安装cordova插件3.配置安卓的SDK和JDK环境变量(Android),配置iOS的xcode环境(iOS)4.整合vue到cordova安装node环境:首先去官网下载node.js,传送门node.js下载地址,推荐下载长期支持版Node.js下载完成之后,一步步默认安装就可以,安装完...原创 2018-12-07 14:47:54 · 3016 阅读 · 2 评论 -
闭包
闭包的文章非常多,为了面试也前前后后看了挺多,但是总是感觉理解的模模糊糊,今天找的时候发现MDN关于闭包的文档教程非常详细,能理解的比较彻底,所以总结一下写下来,MDN文档链接放在最后,需要的同学直接滑到最后就能看到传送门。 我的疑惑有三个: 1.什么是闭包? 2.闭包能做些什么? 3.为什么要有闭包?首先我们了解一下词法作用域的概念,词...原创 2018-09-10 11:26:20 · 242 阅读 · 0 评论 -
webpack入门
第一段吐槽,webpack请直接跳第二段,又是一轮面试周,第一个面试就被完虐了,凉了之后,重新思考了一下目前的情况,发现不能抱侥幸心理,哈哈哈哈哈,所以打算陆续把学过的前端知识点总结一下,免得再给自己挖坑,不过话说回来,学过的东西,不实际操练一下,或者定时复盘一下,基本上,马上就会忘的七七八八了,多么痛的领悟webpack,纵览前端招聘信息,webpack或者gulp这些打包工具貌似已经是必备...原创 2018-09-08 21:59:47 · 252 阅读 · 0 评论 -
原生JS的简单tab切换实现
实现思路是点击上方的按钮,下方的内容随之发生改变,上方和下方用的是两个div块,是兄弟节点,所以需要让tab按钮和下方内容一一对应,例子是基予两个模块若下标相同是一个内容实现的,首先是HTML框架:<div id="box">//包含tab按钮和内容的整体大框架 <div id="head_list"">//tab按钮及内容 <input ty原创 2017-06-30 21:11:17 · 20453 阅读 · 3 评论 -
原生JS轮播图
思路:下层放轮播图片,图片上层放置小圆点,点击小圆点的时候图片随着切换。 具体代码如下: <!DOCTYPE ><html> <head> <meta charset="utf-8" /> <style> div,ul,li,img,body{ margin:0px;原创 2017-06-22 10:55:49 · 394 阅读 · 0 评论 -
Margin负边距使用之双飞翼布局
Margin负边距使用之双飞翼布局在页面布局中,经常会遇到左右两边宽度固定中间自适应的布局需要,其中有一个很巧妙的方式叫双飞翼布局。双飞翼是由淘宝玉伯等前端大牛提出的一种多列布局方法,主要利用了浮动、负边距、相对定位三个布局属性,使三列布局就像小鸟一样,拥有中间的身体和两侧的翅膀。下面是是实现原理:原创 2017-06-09 18:15:48 · 1479 阅读 · 2 评论 -
JS引用类型深度拷贝浅拷贝
今天遇到一个拷贝JS引用类型的例题,把A拷贝到B,在B或A中修改值不会影响对方的数据。查找了一下JS值类型和引用类型的异同,实践了一下,代码及结果如下: 1 对JS值类型拷贝(也就是赋值)代码如下:var c = 3;var d = c;console.log(c)//->3;console.log(d)//->3;d = 4;console.log(c)//->3;console.l原创 2017-06-12 18:12:56 · 1072 阅读 · 0 评论 -
JS someNode.chidren和someNode.childNodes的区别
我们首先写一个包含子节点的代码块:<div id='main'> Apple <div>Paper</div> <div>Pig</div> <div>Coa</></div>DOM树 我们用console.log()分别输出一下document.getElementById(“main”).children和document.getElementById(“ma原创 2017-08-28 11:58:36 · 729 阅读 · 0 评论 -
点击切换图片的底部导航
点击切换图片的底部导航随着H5的兴起,APP风格的页面成了切页面的日常,写底部导航时,在网上找的没有找到合适的,就自己试着用jQuery实现了一下,希望能有帮助UI给的切图是这样的,不得不说,很贴心,哈哈哈哈。 实现结果是这样的: 三个tab是一样的,所以这里可以用事件代理,点击事件的添加,有关事件代理的详细信息看这里:https://www.cnblogs.com/liu...原创 2018-03-07 11:46:42 · 4028 阅读 · 7 评论 -
JS设计模式之单例模式
单例模式: 又被称为单体模式,是只允许实例化一次的对象类,有以下几个功能: 1.管理命名空间,井井有条的管理对象上的属性和方法。JS中有事件覆盖,例如在页面中定义的绑定方法on,如果日后其他人要为页面添加需求,增加代码定义而定义了一个on方法或者重写了on方法,会导致初始定义的on方法被覆盖,这个时候就可以用单例模式来管理命名空间。命名空间就是人们日常所说得namespace,它开辟出一个...翻译 2018-08-01 23:06:39 · 265 阅读 · 0 评论 -
JS闭包
闭包,官方对闭包的解释是:一个拥有许多变量和绑定了这些变量的环境的表达式(通常是一个函数),因而这些变量也是该表达式的一部分。我理解的闭包就是在函数A里定义一个函数B,函数B可以操作函数A里面的变量。因为JavaScript的垃圾回收机制,当一个函数执行完之后,就会被销毁,当我们调用闭包时,也就是调用函数B时,JavaScript会认为这个函数没有执行完毕,所以闭包所在的内存空间A就不会被销毁...翻译 2018-08-27 23:05:42 · 233 阅读 · 0 评论 -
原生JS判断两个元素是否为兄弟节点
一个很简单的方法,分别获取两个元素的父节点,判断父节点是否相同,代码如下:function isSiblilngNode(element,siblingNode){ if(element.parentNode == siblingNode.parentNode){ return true; }else{原创 2017-06-16 18:08:56 · 2492 阅读 · 2 评论