JavaScript
郭从墨
这个作者很懒,什么都没留下…
展开
-
判断某一个元素是否处于可视范围之内
今天遇到一个小需求:判断某一个元素是否处于可视范围之内,这里记录一下var node = element.getBoundingClientRect();const top = node.top;const right = node.right;const left = node.left;const bottom = node.bottom;const viewPortWidth = window.innerWidth || document.documentElement.clientW原创 2021-08-11 23:06:20 · 461 阅读 · 0 评论 -
记录一种js获取本机ip地址的方法
首先一个获取当前客户端的IP地址的网址:http://net.ipcalf.com/Chrome和Firefox浏览器会默认隐藏内网的IP地址,所以需要设置一些额外的东西才可以将IP地址显示出来Chrome:在Chrome浏览器地址栏中输入:chrome://flags/搜索#enable-webrtc-hide-local-ips-with-mdns该配置 并将属性改为disabled之后按照chrome的指示重启一下IP地址就正常了。Firefox:在地址栏中输入:absout:..原创 2020-07-15 20:43:39 · 3035 阅读 · 0 评论 -
前端html页面导出pdf文档,并且上传保存至服务器
1. 引入三个js文件<script src="https://cdn.bootcss.com/jquery/3.3.1/jquery.js"></script><script src="https://cdn.bootcss.com/html2canvas/0.5.0-beta4/html2canvas.js"></script>&原创 2019-03-06 11:49:48 · 6670 阅读 · 2 评论 -
记录HMAC-SHA256加密+base64转码
1. 引入cryptoku:<script src="https://cdn.bootcss.com/crypto-js/3.1.9-1/crypto-js.min.js"></script>2. 需要向后端确认对应的密钥,一般来说是确定的或者是向后端请求得到的,var secret = *****3. 得到待加密的原始字符串,var str = "*******"...原创 2019-03-06 11:41:20 · 2956 阅读 · 0 评论 -
react-document-title
前几天在代码中看到react-document-title这个插件,一查才明白原来它可以实现在单页应用中根据不同路由来改变文档的title,正好有时间就看一下其内部实现的原理是怎么样的该组件内部主要使用的是一个高阶组件,通过修改document.title来实现文档的title改变的功能,这个高阶组件就是react-side-effect。该组件主要接受两个参数:reducePropsToSt...原创 2019-01-22 14:00:38 · 2923 阅读 · 0 评论 -
面试题
1. 隐式类型的转换var object1 = {toString:function(){return 'object1'}, valueOf:function() {return 10}}var object2 = {toString: function(){return 'object2'}, valueOf: function() {return 20}}var object3 =...转载 2019-01-04 23:43:45 · 118 阅读 · 0 评论 -
判断两个参数是否相等
function diff(obj1, obj2) { if(typeof obj1 !== typeof obj2) { return false; } else { switch (typeof obj1) { case "number": case "string": ca...转载 2018-03-04 19:06:56 · 1073 阅读 · 0 评论 -
判断是否是数组的几种方法
1. objName instanceof Array2. objName..constructor == Array3. Array.isArray(objName);4.Object.prototype.toString.call(objName) == "[object Array]"原创 2018-03-03 21:35:03 · 605 阅读 · 0 评论 -
判断一个js对象是否是Array,arr为要判断的对象
在一般情况下我们可以使用instanceof,但是instanceof会在跨iframe对象构建的场景下失效,尽管说现在已经不常使用iframe。但是还有一个可靠的方法可以在任何时候都可以调用: Object.prototype.toString.call(arr) === '[object Array]'通过判断上述语句是否为真,就可以确定arr是否是Array的一个实例...原创 2018-02-12 15:03:06 · 1924 阅读 · 0 评论 -
javaScript中的 RegExp 对象的原生方法
JavaScript RegExp 对象有 3 个方法:test()、exec() 和 compile()。(1) test() 方法用来检测一个字符串是否匹配某个正则表达式,如果匹配成功,返回 true ,否则返回 false;(2) exec() 方法用来检索字符串中与正则表达式匹配的值。exec() 方法返回一个数组,其中存放匹配的结果。如果未找到匹配的值,则返回 null;(3) comp...原创 2018-02-12 14:35:31 · 192 阅读 · 0 评论 -
storage事件
对Storage对象进行修改,都会在文档上触发storage事件。当通过属性或setItem()保存数据,使用delete操作符或removeItem()删除数据或者调用clear()方法清除数据,都会发生这个事件。这个事件的event对象有以下属性:domain:发生变化的存储空间的域名,key:设置或删除的键名,newValue:如果是设置值,则是新值,如果是删除值,则是null,原创 2018-02-03 22:17:18 · 337 阅读 · 0 评论 -
XHR对象的readyState属性对应的值都有哪些,分别代表什么含义?
XHR对象的readyState属性对应有五个值,它们的含义如下:0:未初始化。尚未调用open()方法1:启动。已经调用open()方法,但是还没有调用send()方法2:发送。已经调用send()方法,但是还没有接收响应3:接收。已经接收到部分数据4:完成。已经接收到全部响应数据,并且可以在客户端使用了原创 2018-02-03 17:17:05 · 1917 阅读 · 0 评论 -
原生js如何获取某一元素的高度
一般有三种方法:1.document.getElementById("id").style.height,这种方法的前提是必须之前已经显示的在css中声明过height,才能取得正确的值2.document.getElementById("id").clientHeight3.document.getElementById("id").offsetHeight原创 2017-11-27 16:27:59 · 30812 阅读 · 0 评论 -
JavaScript中的对象复制(Object Clone)
JavaScript中并没有直接提供对象复制(Object Clone)的方法。因此下面的代码中改变对象b的时候,也就改变了对象a。a = {k1:1, k2:2, k3:3};b = a;b.k2 = 4;如果只想改变b而保持a不变,就需要对对象a进行复制。用jQuery进行对象复制 在可以使用jQuery的情况下,jQuery自带的extend方法可以转载 2017-09-22 13:45:35 · 290 阅读 · 0 评论