
javascript
清风乐鸣
前端开发工程师
展开
-
javascript 创建对象 模式总结
原地址:https://www.cnblogs.com/zldream1106/archive/2013/05/21/3090340.html原创 2020-09-25 16:58:19 · 242 阅读 · 0 评论 -
你真的了解!! 和 !吗?
灵感来源:最近代码走查的时候,看到代码中经常用到!!这个,然后就很纳闷这个东西到底有啥意义呢,就研究了一下:初次认为你是不是认为!!是取反在取反等于原变量本身,其实你的理解是对的,但是只是一点点,咱们先来聊聊!具体使用方法其实js中!的用法是比较灵活的,它除了做逻辑运算常常会用!做类型判断,可以用!与上对象来求得一个布尔值!可将变量转换成boolean类型,null、undefined和空字符串取反都为false,其余都为true !null = true !undefined = tr原创 2020-07-03 10:22:30 · 210 阅读 · 0 评论 -
javascript常见场景的一题多解
对象中能使用call或者applly方法吗A: 当然可以了,只要有函数的地方就可以使用call或者apply,举个例子:var Study = { country: 'china', age: null, init: function (name, txt) { console.log(`${name},特长是:${txt}`); }, detail: function (name, txt) { this.init.call(this, name, txt);原创 2020-05-12 16:41:47 · 409 阅读 · 0 评论 -
聊聊new Function这个陌生面孔及函数作用域和函数执行顺序
咱们平时定义一个函数是怎么个定义法呢, 咱们以计算3和5的和为例:你首先想到的可能就是,这还不简单,so easy,你看: function sum(a, b) { return a + b; }或者用咱们的ES6 let sum = (a, b) => a + b;恭喜你答对了,其实啊,函数的定义常见的也就是上面的这种方式,没有什么特别的花样,但是今天咱们聊聊...原创 2020-03-27 18:39:21 · 1529 阅读 · 1 评论 -
如何将相同属性的数组对象合并并统计个数
类别: 一题多解博客: https://blog.youkuaiyun.com/qtfying掘金: https://juejin.im/user/57739929c4c9710055376671QQ: 2811132560邮箱: qtfying@gamil.com 这两天在浏览博客的时侯,发现这样一个题,就尝试着去解了一把,现在把解的几个方法贴出来,供大家参考和学习目标数组为: let ...原创 2020-01-06 16:23:07 · 1323 阅读 · 0 评论 -
由/(\w+)\s(\w+)/ 而感,一篇道尽js中的正则表达式
类别: 正则表达式博客: https://blog.youkuaiyun.com/qtfying掘金: https://juejin.im/user/57739929c4c9710055376671QQ: 2811132560邮箱: qtfying@gamil.com上面的这个正则表达是很简单,但是在谈这个问题之前呢,我还是想聊聊正则表达式,一来呢,增加文章的可读性,二呢,也能帮助读者循序渐进...原创 2019-12-30 20:33:20 · 3009 阅读 · 2 评论 -
require.js/seajs/ES6/browserify/webpack的区别
Javascript不具备原生的模块化技能,因此需要采用第三方开发的模块依赖处理库来实现模块化:AMD、CommonJS、ES6这三种方案的实现对比:AMD: define + requireCMD: exports + requireES6: export + import由于ES6本身是原生语言支持实现的模块化,但是现代浏览器大多都还未支持,因此必须使用相应的tra...原创 2019-02-21 14:25:34 · 570 阅读 · 0 评论 -
Set和Map
产生起因JavaScript的默认对象表示方式{}可以视为其他语言中的Map或Dictionary的数据结构,即一组键值对。但是JavaScript的对象有个小问题,就是键必须是字符串。但实际上Number或者其他数据类型作为键也是非常合理的。为了解决这个问题,最新的ES6规范引入了新的数据类型Map和set.Set是一种叫做集合的数据结构,Map是一种叫做字典的数据结构应用场景数组...原创 2019-01-25 13:56:40 · 354 阅读 · 0 评论 -
对象,数组,Set,Map的遍历方法
var a = ['A', 'B', 'C'];for(var i of a.keys()) { console.log(i)}for (var i of a) { console.log(i)}a.forEach(function (element, index, array) { console.log(element + ', index = ' + index)...原创 2019-01-24 15:04:32 · 393 阅读 · 0 评论 -
为什么数组是对象(javascript基本数据类型)
关于javascript的基本数据类型,网上搜的结果是:W3CSchool结果:字符串、数字、布尔、数组、对象、Null、UndefinedMDN的结果:最新的 ECMAScript 标准定义了 7 种数据类型:6 种原始类型:BooleanNullUndefinedNumberStringSymbol (ECMAScript 6 新定义)和 Object怎么解释...原创 2019-01-23 18:07:10 · 2688 阅读 · 0 评论 -
知乎项目代码阅后总结
项目源地址源码地址项目中增加Reactotron:使用方法项目中的问题[白图为源码,彩图为修改后的正确代码]:setStateaxios请求回来的数据回填到setState中,应该只调用一次setState一个页面需要调用2次接口才能渲染出时候,应该用回调改为回调axios,同时setState只设置一次个人还是比较崇拜先定义后导出的写法ex...原创 2018-12-19 10:47:05 · 401 阅读 · 0 评论 -
React项目打包部署到服务器上的遇到的问题
上一篇我我们讲到关于vue-cli的项目部署的一些小坑,但是对于React项目,如果用create-react-app脚手架运行npm run build后,直接把build文件夹扔到服务器,也会出现同样的问题,怎么才能直接点击运行index.html呢???最简单的方法:个人比较推荐这种,省事----修改package.json修改配置文件----node_modules/reac...原创 2018-12-19 22:38:53 · 3252 阅读 · 5 评论 -
Vue项目打包部署到服务器上的遇到的两个问题
这两天一直在忙活着搞自己的服务器,想着怎么把用webpack打包的项目部署到服务器上呢,就打算init一个vue的创建示例,当我跑所有人都知道的npm run build的时候,好开心,幸福来得就是这么突然:第一个问题来了:打包部署的时候,index.html空白高兴的我,赶紧把dist代码改了一下名字initApp,扔到服务器上一跑,结果没有出来,然后就直接点击一下dist的inde...原创 2018-12-19 13:51:48 · 5466 阅读 · 0 评论 -
重写移动端滚动条[iScroll.js核心代码]
最近写一个popover弹窗时,发现这个滚动条是真的丑啊,决定重新撸一个滚动条:首先咱们回顾一下移动端浏览器滚动条特性:滚动条在开始滚动时渐显,滚动结束后渐隐 滚动条不占内容区宽度,悬浮固定 滚动条高度(深灰)和滚动区可视高度(浅灰)比等于滚动区可视高度和滚动目标的高度 当滚动目标的高度小于滚动区可视高度的时候,滚动条不显示,并且无法滚动 只有在滚动滚动目标时,才能触发滚动 当滚...原创 2018-12-12 21:42:56 · 1149 阅读 · 0 评论 -
JS基础知识整理
1.while循环2.for循环3.定义函数4.函数表达式5.变量的范围6.创建一个对象7.对象中的数组8.更新与删除对象中的属性9.为对象添加方法10.循环输出对象的属性11.querySelector和querySelectorAll12.访问元素的属性nodename 元素节点名称innerText 元素内容paren...原创 2019-04-02 15:52:34 · 298 阅读 · 0 评论 -
终于弄清楚JS的深拷贝和浅拷贝了[转]
今天在看js的深浅拷贝的时候,发现一个很好的帖子,神贴,来自作者:一只努力的程序媛为了节省时间,我就直接先复制过来啦,致敬致敬!!!今天,CVTE面试官问了深拷贝和浅拷贝的问题我的回答是:浅拷贝是拷贝了对象的引用,当原对象发生变化的时候,拷贝对象也跟着变化;深拷贝是另外申请了一块内存,内容和原对象一样,更改原对象,拷贝对象不会发生变化;但是面试官给我说:浅拷贝是拷贝一层,深层次的对象级...转载 2019-05-21 15:17:15 · 370 阅读 · 0 评论 -
Javascript 自执行函数(匿名函数)
前言大家学JavaScript的时候,经常遇到自执行匿名函数的代码,今天我们主要就来想想说一下自执行。在详细了解这个之前,我们来谈了解一下“自执行”这个叫法,本文对这个功能的叫法也不一定完全对,主要是看个人如何理解,因为有的人说立即调用,有的人说自动执行,所以你完全可以按照你自己的理解来取一个名字,不过我听很多人都叫它为“自执行”,但作者后面说了很多,来说服大家称呼为“立即调用的函转载 2017-08-02 22:04:22 · 630 阅读 · 0 评论 -
slice,splice和split方法的区别和异同
每见到这三个函数,懵不懵,晕不晕…,一遍文章搞定slice(数组)用法:array.slice(start,end)解释:该方法是对数组进行部分截取,并返回一个数组副本;参数start是截取的开始数组索引,end参数等于你要取的最后一个字符的位置值加上1(可选)//如果不传入参数二,那么将从参数一的索引位置开始截取,一直到数组尾var a=[1,2,3,4,5,6];var b=a.s...原创 2019-10-09 17:11:02 · 608 阅读 · 0 评论 -
javascript中常见的数组面试题
说在前面的话:数组的concat,join,slice,toString方法不会改变原数组。数组的splice,push,pop,unshift,shift,sort,reverse方法会改变原数组。数组求和要求:计算给定数组的所有元素的总和,数组的元素均为Numeber,不考虑其它类型。方法一:常规遍历相加for,for in, for of, forEach都可以遍历数组!这里...原创 2019-10-08 16:06:14 · 464 阅读 · 0 评论 -
for in循环遍历和for循环的区别
看到for in可以遍历某个对象的所有属性这一块,更是摸不着头脑。JS中用来遍历的方法不是已经有for循环了吗?为什么又多出一个for in来呢?还是用示例来看下这两者到底有什么区别吧。<ul id="ul"> <li>111</li> <li>222</li> <li>333</li> <...原创 2019-10-08 15:07:19 · 2869 阅读 · 0 评论 -
javascript模拟marquee跑马灯效果
javascript完美模拟marquee效果随着html中的标签marquee不在被W3C作为标准采纳,在可遇见的未来也会慢慢的被各大浏览器抛弃,直至废弃,为什么被废弃呢,经过小雨我不辞辛苦的总结有以下几种原因:marquee这家伙是微软自己创造出来的,现在火狐都支持了,它自己不干了marquee的效果,必须要前一次滚动完成之后,才会接着下一次,会留白很长一段时间,适合无限向上滚动,无限...原创 2019-08-07 16:00:59 · 938 阅读 · 0 评论 -
根据android版本号,增加兼容性处理
// 获取安卓版本号 function getAndroidVersion() { var u = window.navigator.userAgent; if(u.indexOf('Mobile') > -1){ if (u.indexOf('Android') > -1 || u.indexOf('Linux')...原创 2019-08-09 15:52:32 · 906 阅读 · 0 评论 -
理解深浅拷贝的原理---栈(stack)和堆(heap)
1、栈(stack)和堆(heap)stack为自动分配的内存空间,它由系统自动释放;而heap则是动态分配的内存,大小不定也不会自动释放。2、基本类型和引用类型基本类型:存放在栈内存中的简单数据段,数据大小确定,内存空间大小可以分配。5种基本数据类型有Undefined、Null、Boolean、Number 和 String,它们是直接按值存放的,所以可以直接访问。引用类型:存放在堆...转载 2019-05-21 17:01:15 · 1126 阅读 · 0 评论 -
js一行代码实现数组去重
ES6中新增了Set数据结构,类似于数组,但是 它的成员都是唯一的 ,其构造函数可以接受一个数组作为参数,如: let array = [1, 1, 1, 1, 2, 3, 4, 4, 5, 3]; let set = new Set(array); console.log(set); // => Set {1, 2, 3, 4, 5}ES6中Array新增了一个静态方法A...原创 2018-11-13 15:08:26 · 1340 阅读 · 0 评论 -
理解 JavaScript 中的 for…of 循环
什么是 for…of 循环for...of 语句创建一个循环来迭代可迭代的对象。在 ES6 中引入的 for...of 循环,以替代 for...in 和 forEach() ,并支持新的迭代协议。for...of 允许你遍历 Arrays(数组), Strings(字符串), Maps(映射), Sets(集合)等可迭代的数据结构等。语法for (variable of ...转载 2018-11-13 15:03:14 · 256 阅读 · 0 评论 -
手把手教你写ES6箭头函数
通常函数的定义方法var fn = function(...){ ...... }例如:var add = function(a,b){ return a+b;}//或者:function fn(...){ ......}//例如:function add(a,b){ return a+b;}简写方法速记将原...原创 2018-10-25 14:26:05 · 431 阅读 · 0 评论 -
$.each 循环json以及JSON.parse() JSON.stringify() jQuery.parseJSON()的用法:
$.each JSON.parse() JSON.stringify() jQuery.parseJSON()原创 2017-09-14 15:03:27 · 2862 阅读 · 0 评论 -
js创建对象的几种方法
1.使用new操作符后跟object构造函数,如:var person = new Object(); 可以写成 var person = {}; person.name = "kitty"; person.age = 25;2.使用”对象字变量”表示法”,如:var person = { name : "kitty", age:25 };3.工厂模式法:var createP原创 2017-08-25 17:17:27 · 393 阅读 · 0 评论 -
设备像素比devicePixelRatio的应用
我们这里所说的devicePixelRatio其实指的是window.devicePixelRatio, 被所有WebKit浏览器以及Opera所支持。概念devicePixelRatio ,它是设备上物理像素和设备独立像素( device-independent pixels (dips) )的比例,即 devicePixelRatio = 屏幕物理像素/设备独立像素 例原创 2017-08-22 16:25:08 · 2288 阅读 · 0 评论 -
详谈JavaScript预解析
定义预解析:在当前作用域下,js运行之前,会把带有var和function关键字的事先声明,并在内存中安排好。然后再从上到下执行js语句。 预解析只会发生在通过var定义的变量和function上。var通过var关键字定义的变量进行预解析的时候:都是声明declare,不管它有没有赋值,都会赋值undefined。alert(a); //undefinedvar a = 1;alert(b)原创 2017-08-22 14:59:50 · 613 阅读 · 0 评论 -
多事件绑定和加载:
开发过程中我们经常会在同一个按钮上绑定多个事件,例如我们在点击清空按钮的时候,清空所有的[input][6]的[value][6]值: <div> <input type="button" id="searchBtn" value="清空" style="width: 204px;"/><br><br> <input type="text" id="u原创 2017-07-27 17:10:25 · 550 阅读 · 0 评论 -
详谈valueOf() 和 string() 的区别和用法:
valueOf() 用法valueof() 函数用于返回指定对象的原始值。该方法属于Object对象,由于所有的对象都 “继承” 了 Object 的对象实例,因此几乎所有的实例对象都可以使用该方法。-语法object.valueOf()-返回值valueOf() 函数返回指定对象的原始值。 对象 返回值 Array 数组实例化对象 Boolean 布尔值 D原创 2017-06-13 16:44:19 · 751 阅读 · 0 评论 -
javascript中阻塞和非阻塞,同步和非同步的区别
老张爱喝茶,废话不说,煮开水。 出场人物:老张,水壶两把(普通水壶,简称水壶;会响的水壶,简称响水壶)。1 老张把水壶放到火上,立等水开。(同步阻塞) 老张觉得自己有点傻 2 老张把水壶放到火上,去客厅看电视,时不时去厨房看看水开没有。(同步非阻塞) 老张还是觉得自己有点傻,于是变高端了,买了把会响笛的那种水壶。水开之后,能大声发出嘀~~~~ 的噪音。 3 老张把响水壶放到原创 2017-06-09 18:24:05 · 2763 阅读 · 0 评论 -
config.js配置页面中的样式和图片路径
这个文章用在什么地方,我先说一下,上周啊,我接到一个任务。因为公司业务要对接不同的银行,例如在工行下颜色是红色的,在其他银行下默认为蓝色,所以在页面一致的情况下,保证页面中的按钮和 ICON 是可以配置的,这样秩序改动一个值【颜色或路径】,就能正常全部适配好了,其实这个业务很简单:**第一种方案:我们有新建两个config1.js和config2.js,代码分别类似如下:**var config原创 2017-06-24 15:50:42 · 2830 阅读 · 0 评论 -
a标签不能跳转,javascript控制其能跳转的方法
原创 2016-06-12 10:25:00 · 761 阅读 · 0 评论 -
仿百度图片实例
昨天花了一天时间做了一个类似于百度图片的切换功能,同时呢,考虑浏览器性能上为题做了一些向下兼容:首先我们建一个index.html文件,代码如下:<!DOCTYPE html><html><head> <meta charset="utf-8"> <title>JS实战</title> <script src="js/app.js"></script> <scri原创 2017-05-05 11:29:43 · 784 阅读 · 0 评论 -
JS 中 new 操作符
按照 javascript 语言精粹中所说,如果在一个函数前面带上 new 来调用该函数,那么将创建一个隐藏连接到该函数的 prototype 成员的新对象,同时 this 将被绑定到那个新对象上。这个话很抽象,我想用实例来让自己加深理解。1. 如果就一个函数,没有返回值,没有 prototype 成员,然后使用 new, 会是什么结果呢?如果一个函数没有返回值,那么如果不使用 new...原创 2017-09-07 15:26:48 · 416 阅读 · 0 评论 -
省市(中国大学)二级联动的精髓写法
一开始遇到这种二级联动的写法,都是望而却步,今天性质大发,简单的写一篇代码,总结一下,与大家共勉: 一句话说明问题:点击 select 后,用 selectedIndex 获取该 select 选中的索引 [index],然后点击第二个 select 的时候,以该索引去筛选该索引对应的值看了后是不是感觉很简单,下面我列举一下例子中用到的知识点: 请求 json 数据,用到 ajax,为了方面原创 2017-08-31 00:37:37 · 775 阅读 · 0 评论 -
一看就懂的ES6箭头函数(Arrow Functions)
ES6可以使用" => "定义函数,注意是函数,不要使用这种方式定义类(构造器)。一. 语法1.具有一个参数的简单函数var single = a => a;single('hello, world') //'hello, world'2.没有参数的需要在箭头前加上小括号var log = () => { alert('no param')}...原创 2018-10-25 11:10:24 · 453 阅读 · 0 评论 -
将现有数组重新分组(将数组分每四个渲染到一组)
最近做项目有一个小功能,将数组玩出了花样,就是要将ajax从后台拿到的数据,四个一组,渲染到页面上,特此记下笔记,以作安利:首先,页面上建立一DOM节点:<div id="test"></div>假如我们从后台拿到的数据结构为:var data = [1, 2, 3, 4, 5, 6, 7, 8, 9,10];接下来直接上代码:var result = [...原创 2018-10-11 16:14:35 · 8026 阅读 · 2 评论