随笔分类 - Javascript
摘要:1. arguments为什么不是数组?如何证明? arguments 是没有数组的slice等方法的,所以不是Array类型的。 验证: function testargs(){ var arr=[1,2,3]; console.log(typeof arguments.slice); conso
阅读全文
摘要:全手打原创,转载请标明出处:https://www.cnblogs.com/dreamsqin/p/11305028.html 先重点说一下可能遇到的坑:主要在原本默认参数的设置以及两个方法的选择上,看完这篇总结你就知道怎么回事了~ throttle API走起 _.throttle(func, [
阅读全文
摘要:JavaScript中Object对象原型上的hasOwnProperty()用来判断一个属性是定义在对象本身而不是继承自原型链。 obj.hasOwnProperty(prop) 参数 prop 要检测的属性 字符串 名称或者 Symbol(ES6) o = new Object(); o.pro
阅读全文
摘要:本文翻译自:How do I dynamically assign properties to an object in TypeScript? If I wanted to programatically assign a property to an object in Javascript,
阅读全文
摘要:浅拷贝和深拷贝: 针对对象 深拷贝和浅拷贝只针对像Object和Array这样的复杂对象的,String,Number等简单类型不存在深拷贝。 浅拷贝: 因为浅拷贝只会将对象的各个属性进行依次复制,并不会进行递归复制。在JavaScript中,对于Object和Array这类引用类型值,当从一个变量
阅读全文
摘要:昨天写了个小爬虫,用axios.all同时请求多个页面时,国内网络的原因很容易就超时然后reject了,佛系resolve不可取啊,然后想到可以实现一个“重发失败请求”的功能。 Promise.all(requestPromises).then(...).catch(...) 会在所有request
阅读全文
摘要:setTimeout()定义和用法 关于setTimeout方法的介绍 定义 setTimeout() 方法用于在指定的毫秒数后调用函数或计算表达式。 语法 setTimeout(code,millisec) 参数: code:必需。要调用的函数后要执行的 JavaScript 代码串。 milli
阅读全文
摘要:深拷贝和浅拷贝是javascript中一个比较复杂的问题,也是面试官最喜欢问的问题之一,通过这个为可以看出是否入门,深拷贝和浅拷贝也是初学者经常犯错一个点。 简单来说深拷贝是拷贝储存在栈中的对象,而浅拷贝是从内存中拷贝,这就涉及到数据存放位置了,总所周知,数据大体可以分为两种数据类型,一种是基本数据
阅读全文
摘要:前言 对象是 JS 中基本类型之一,而且和原型链、数组等知识息息相关。不管是面试中,还是实际开发中我们都会碰见深拷贝对象的问题。 顾名思义,深拷贝就是完完整整的将一个对象从内存中拷贝一份出来。所以无论用什么办法,必然绕不开开辟一块新的内存空间。 通常有下面两种方法实现深拷贝: 迭代递归法 序列化反序
阅读全文
摘要:ES5 方法总结 1.slice 2. 遍历数组 3. concat() Array.prototype.clone=function(){ ES6 方法总结 1. Object.assign() 浅复制,也可以实现数组的克隆 2. 扩展运算符 欢迎补充其他方法!!!
阅读全文
摘要:受制于WEB页面源码的暴露,因此传统的对称加密方案以及加密密钥都将暴露在JS文件中,同样可以被解密。 目前比较好的解决方案是WEB页面全程或用户登录等关键环节使用HTTPS进行传输。 另外一种解决方案就是通过RSA进行加密。 RSA是一种非对称加密,也就是客户端通过公钥进行加密,服务端通过私钥进行解
阅读全文
摘要:在JavaScript的世界里,有两个词经常被提到,shim和polyfill.它们指的都是什么,又有什么区别?一个shim是一个库,它将一个新的API引入到一个旧的环境中,而且仅靠旧环境中已有的手段实现一个polyfill就是一个用在浏览器API上的shim.我们通常的做法是先检查当前浏览器是否支
阅读全文