js
文章平均质量分 58
江南风雨2013
qq987614679
展开
-
jsonp其实很简单【ajax跨域请求】
前两天被问到ajax跨域如何解决,还真被问住了,光知道有个什么jsonp,迷迷糊糊的没有说上来。抱着有问题必须解决的态度,我看了许多资料,原来如此。。。为何一直知道jsonp,但一直迷迷糊糊的不明白呢?——网上那些介绍资料都写的太复杂了!我是能多简单就多简单,争取让你十分钟看完!1. 同源策略ajax之所以需要“跨域”,罪魁祸首就是浏览器的同源策略。即,一个页面的aja转载 2016-11-03 16:38:20 · 1193 阅读 · 0 评论 -
浅谈javascript的Array.prototype.slice.call
这篇文章转自脚本之家,先保存起来以后深究发现大多人都用了Array.prototype.slice.call(argments,0),一直不明白这句是干什么的。而昨天温习了slice()方法,再参考Function.call(thisArg[, arg1[, arg2[, ...]]]),还是不得而知(我脑筋转得慢:|)。写字前面在js中我们经常会看到Array.p转载 2016-10-17 16:35:32 · 306 阅读 · 0 评论 -
一道常被人轻视的前端JS面试题
年前刚刚离职了,分享下我曾经出过的一道面试题,此题是我出的一套前端面试题中的最后一题,用来考核面试者的JavaScript的综合能力,很可惜到目前为止的将近两年中,几乎没有人能够完全答对,并非多难只是因为大多面试者过于轻视他。题目如下:function Foo() { getName = function () { alert (1); }; return th转载 2016-10-27 15:12:48 · 246 阅读 · 0 评论 -
扒一扒JavaScript 预解释
这篇文章主要介绍了JavaScript 预解释,包含带var关键字预解释、带function关键字预解释,需要的朋友可以参考下带var关键字预解释让我们先看下这段代码执行的结果:复制代码代码如下:alert(n);//弹出undefinedvar n = 10;弹出的结果是undefined,为何不是10?让我们再看下面这段代转载 2016-10-27 20:58:13 · 296 阅读 · 0 评论 -
你不要jquery(四)
jQuery是个好东西。它诞生于IE6在互联网称霸的那个时代。jQuery的存在让我们的代码能很好的兼容各种平台。然而,到如今,浏览器技术已经取得了巨大的进步。我们可以自由的使用所有最新众多ES5/ES6提供的原生API,配合革命性的HTML5 API,我们对DOM的操作变得从未如此的容易。WEB开发人员突然发现,没有jQuery其实也能轻松高效的完成项目开发。不要误会,jQuery仍然是转载 2016-10-05 11:52:08 · 300 阅读 · 0 评论 -
让你彻底搞懂offset
很多初学者对于JavaScript中的offset、scroll、client一直弄不明白,虽然网上到处都可以看一张图(图1),但这张图太多太杂,并且由于浏览器差异性,图示也不完全正确。图一 不知道大家看到这张图的第一感觉如何,反正我的感觉就是“这次第,怎一个乱字了得”。 既然我认为上图太多太乱,那么我就把offset、scroll、client分开说,希望能让转载 2016-10-31 18:27:27 · 11649 阅读 · 1 评论 -
href="#"和href="javascript:void(0)"
#"包含了一个位置信息默认的锚点是#top 也就是网页的上端而javascript:void(0) 仅仅表示一个死链接这就是为什么有的时候页面很长浏览链接明明是#可是跳动到了页首而javascript:void(0) 则不是如此所以调用脚本的时候最好用void(0)或者等打开新窗口链接的几种办法1.window.open('转载 2016-11-24 14:38:22 · 281 阅读 · 0 评论 -
2016 年 7 个顶级 JavaScript 框架
当涉及到Web开发时,JavaScript框架往往是一些开发人员和企业最受欢迎的平台。可能,你有机会尝试过一两个顶级的JavaScript框架,但你仍然有点不确定哪个才是最佳的最值得掌握的,或者哪个值得你建议你的开发人员选择用于下一个web开发项目。JavaScript正在以惊人的速度前进,并且添加新的技能到你的存储库变得有不断的压力。为了做到这一点,知道和了解更多的顶级JavaScrip转载 2016-12-06 21:58:09 · 398 阅读 · 0 评论 -
js判断设备类型
var sUserAgent = navigator.userAgent.toLowerCase(); var bIsIpad = sUserAgent.match(/ipad/i) == "ipad"; var bIsIphoneOs = sUserAgent.match(/iphone os/i) == "iphone os"; var bIsMidp =原创 2016-12-21 17:16:21 · 832 阅读 · 0 评论 -
可视区的宽高,屏幕频率,各种迷惑
function show(){ var s = ""; s += "网页可见区域宽度:"+document.body.clientWidth; s += "\n网页可见区域高度:"+document.body.clientHeight; s += "\n网页可见区域宽度(包括边线):"+document.body.offsetWidth;原创 2016-12-21 17:18:23 · 943 阅读 · 0 评论 -
instanceof 和原型链
这篇文章是从mdn上转载过来的,先保存下,以后再回顾、深究其原理instanceof 运算符用来测试一个对象在其原型链中是否存在一个构造函数的prototype属性。语法EDITobject instanceof constructor参数object要检测的对象.constructor某个构造函数描述EDITinstanceof 运转载 2016-10-17 16:28:56 · 440 阅读 · 0 评论 -
js中cookie使用详细讲解
JavaScript中的另一个机制:cookie,则可以达到真正全局变量的要求。 cookie是浏览器 提供的一种机制,它将document 对象的cookie属性提供给JavaScript。可以由JavaScript对其进行控制,而并不是JavaScript本身的性质。cookie概述 在上一节,曾经利用一个不变的框架来存储购物栏数据,而商品显示页面是不断变化的,尽管这样能达转载 2016-10-26 14:30:38 · 3063 阅读 · 0 评论 -
一个轮播图小demo ---之js定时器的妙用
直接上demo html文件 huadong原创 2016-09-13 17:04:55 · 3358 阅读 · 0 评论 -
window.parent与window.openner区别介绍
今天总结一下js中几个对象的区别和用法: 首先来说说 parent.window与top.window的用法 "window.location.href"、"location.href"是本页面跳转 "parent.location.href"是上一层页面跳转 "top.location.href"是最外层的页面跳转 举例说明: 如果A,B,C,D都是jsp,D是C的ifr转载 2016-11-04 16:34:33 · 758 阅读 · 0 评论 -
call()的用法
转自:https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Function/callcall() 方法在使用一个指定的this值和若干个指定的参数值的前提下调用某个函数或方法.注意:该方法的作用和 apply() 方法类似,只有一个区别,就是call()方法接受的是若干转载 2016-08-31 15:02:08 · 14954 阅读 · 0 评论 -
关于audio/video的几个知识点
首先来一个w3shool上的例子 该视频是否已暂停 Your browser does not support HTML5 video.myVid=document.getElementById("video1");function isVidPaused() { alert(myVid.pause原创 2016-08-13 10:16:44 · 1677 阅读 · 0 评论 -
一张图轻松搞懂javascript event对象的clientX,offsetX,screenX,pageX区别
本文转自:http://www.2cto.com/kf/201409/333401.html 谢谢~!总是会被javascript的event对象的clientX,offsetX,screenX,pageX 弄得头晕,于是决定做个图来区分一下(画得我手那个酸呀。。。。)先总结下区别:event.clientX、event.clientY鼠标相对于浏览器窗转载 2016-10-25 16:37:51 · 564 阅读 · 0 评论 -
js跨域总结及解决办法
什么是跨域JavaScript出于安全方面的考虑,不允许跨域调用其他页面的对象。但在安全限制的同时也给注入iframe或是ajax应用上带来了不少麻烦。这里把涉及到跨域的一些问题简单地整理一下:首先什么是跨域,简单地理解就是因为JavaScript同源策略的限制,a.com 域名下的js无法操作b.com或是c.a.com域名下的对象。更详细的说明可以看下表:U转载 2016-10-25 19:55:45 · 426 阅读 · 0 评论 -
jquery eval解析JSON中的注意点介绍
在JS中将JSON的字符串解析成JSON数据格式,一般有两种方式:使用eval()函数、使用Function对象来进行返回解析,下面有个示例,感兴趣的朋友可以参考下在JS中将JSON的字符串解析成JSON数据格式,一般有两种方式: 1.一种为使用eval()函数。 2. 使用Function对象来进行返回解析。 使用eval函数来解析,并且使用jquery的each方法转载 2016-10-25 20:15:25 · 290 阅读 · 0 评论 -
js的匿名函数及函数的闭包
1、匿名函数函数是JavaScript中最灵活的一种对象,这里只是讲解其匿名函数的用途。匿名函数:就是没有函数名的函数。1.1 函数的定义,首先简单介绍一下函数的定义,大致可分为三种方式第一种:这也是最常规的一种function double(x){ return 2 * x; }第二种:这种方法使用了Function构造函数,把参数列表转载 2016-10-25 20:46:25 · 380 阅读 · 0 评论 -
js内存泄露
1、什么是闭包、以及闭包所涉及的作用域链这里就不说了。2、JavaScript垃圾回收机制JavaScript不需要手动地释放内存,它使用一种自动垃圾回收机制(garbage collection)。当一个对象无用的时候,即程序中无变量引用这个对象时,就会从内存中释放掉这个变量。var s = [ 1, 2 ,3];var s = null;//这样原始的数组[1 ,2转载 2016-10-25 21:11:13 · 208 阅读 · 0 评论 -
JavaScript 产生不重复的随机数三种实现思路
在 JavaScript 中,一般产生的随机数会重复,但是有时我们需要不重复的随机数,如何实现?下面就来讲解三种方法产生不重复的随机数,并进行比较,看那种方法效率高。方法一 思路:首先创建一个1到3000的数组,每次取一个数,然后去除数组中取出的这个数, 这样就可以实现永不重复。 复制代码代码如下: var count=3000; var originalA转载 2016-12-27 20:51:56 · 11755 阅读 · 0 评论 -
ES6新特性箭头函数(Arrow Function)
箭头函数是ECMAScript 6最受关注的更新内容之一。它引入了一种用「箭头」(=>)来定义函数的新语法,它…它碉堡了~。箭头函数与传统的JavaScript函数主要区别在于以下几点:1.对 this 的关联。函数内置 this 的值,取决于箭头函数在哪儿定义,而非箭头函数执行的上下文环境。2.new 不可用。箭头函数不能使用 new 关键字来实例化对象,不然会报错。3.this 不转载 2017-01-08 11:56:12 · 2719 阅读 · 0 评论 -
ES6的变量声明
在ES5中,变量声明只有var和function以及隐式声明三种,在ES6中则增加了let,const,import和class四种,以下来介绍着七种变量的声明。varES5中最原始的变量声明,用于声明变量,其实JavaScript是弱类型语言,对数据类型变量要求不太严格,所以不必声明每一个变量的类型(这就是下面说的隐式声明,当然这并不是一个好习惯),在使用变量之前先进行声明是转载 2017-01-08 21:00:21 · 4362 阅读 · 0 评论 -
document.documentElement和document.body的区别
就先这么记着吧,也就是说document.documentElement.XXX 用的比document.body.XXX时候多。正文开始------------------------------------------网页中获取滚动条卷去部分的高度,可以通过 document.body.scrollTop 来获取,比如使div跟着滚动条滚动:转载 2017-06-01 11:05:16 · 663 阅读 · 0 评论 -
jsonp那些事
jsonp jquery实现http://www.cnblogs.com/know/archive/2011/10/09/2204005.htmlhttp://kb.cnblogs.com/page/139725/原创 2017-08-03 15:59:51 · 214 阅读 · 0 评论 -
ios手机 按钮点击事件没反应(这个按钮是js生成的)
昨天碰到这种问题,在Android手机上点击事件是可以的,但是iOS手机没反应。用的是jQuery,我立即就想到是点击事件格式写的有问题,因为 我之前就碰到过类似的问题,比如,你用js 生成的一个按钮 按钮 (记住是 js 生成的,不是HTML写的),用 $('.btn').on("click",function(){}); 这样点击事件可能会不生效。需要这样写,$('XXX').on('cl原创 2017-08-29 09:11:08 · 11946 阅读 · 0 评论 -
HTML、CSS、JS对unicode字符的不同处理
unicode字符的不同表示法unicode字符在html、css和js中的表示方法均不相同,下面分别作介绍。1.1. css表示法首先来一段很常见的bootstrap的字体图标代码:.glyphicon-home:before { content: "\e021";}上面代码中的e021就是这个字符的unicode码,是16进制。语法:'转载 2017-09-07 13:54:57 · 1057 阅读 · 0 评论 -
js 的Object.assign(),要慎用
最近也一直会用JavaScript,然后中间使用的一些组件,如Echarts 会有非常复杂的配置文件,而大部分配置可能都是一样的,所以想着写一份通用配置,然后,其他地方需要使用的时候,用这份配置深拷贝一份配置,然后在上面继续改。就如下:const defaultOpt = { key1: xxx, key2: { dd: ee }, .....转载 2017-09-03 12:23:56 · 24344 阅读 · 5 评论 -
uglifyjs 压缩js代码使用指南
UglifyJS--javascript代码压缩使用指南{转}在线测试地址 http://lisperator.net/uglifyjs/下面都是基于linux系统的安装使用.UglifyJS是遵循了CommonJS规范写成的,可以在支持CommonJS模块系统的javascript环境中运行。当然,这是官方的说法,通俗的说,就是可以在浏览器里和node.js的环境中兼转载 2017-10-09 10:42:02 · 4342 阅读 · 0 评论 -
match返回参数和分组
var style='rotateX(-180deg)';style.match(/rotateX\(([-]?\d+)/);代码如上。我的理解是返回字符串['rotateX(-180'],但实际却是['rotateX(-180','-180']解答:和贪婪没一点关系。match匹配成功时会返回数组:如果正则为全局匹配,那么数组的第一个及以后元素存放的都是匹原创 2017-10-25 10:36:50 · 937 阅读 · 0 评论 -
手机端用单击事件模拟双击事件
手机app虽然不支持双击事件,但是支持单击事件:用单击事件实现双击button id="btn">button>script src="jquery-2.1.1.min.js">script>script> var i = 0; $('#btn').on('click', function () {i++; se原创 2017-04-21 10:37:20 · 6725 阅读 · 0 评论 -
js重新组合当前时间
JS获得当前时间的方法是利用js的date对象并格式化输出。具体举例如下:1、定义一个date对象todayvar today = new Date();2、分别从today中获取日,月,年,时,分,秒:var dd = today.getDate();var mm = today.getMonth()+1; //一月是0,一定要注意var yyyy = today.getFullYear();v原创 2017-04-21 10:36:15 · 992 阅读 · 0 评论 -
模块流程
模块创建 animal.js模块导出 exports.animal=animal加载模块 var animal =require('animal.js')使用 animal.go()原创 2017-01-08 22:41:03 · 455 阅读 · 0 评论 -
js中的shift()函数
定义和用法shift() 方法用于把数组的第一个元素从其中删除,并返回第一个元素的值。返回值数组原来的第一个元素的值。说明如果数组是空的,那么 shift() 方法将不进行任何操作,返回 undefined 值。请注意,该方法不创建新数组,而是直接修改原有的 arrayObject。实例在本例中,我们将创建一个数组转载 2017-01-09 22:28:47 · 8937 阅读 · 0 评论 -
JS实现页面加载完毕之前loading提示效果
做成js调用:base-loading.js代码[html] view plain copy /******************************************* * * 创建人:Quber(qubernet@163.com) * 创建时间:2014原创 2017-02-16 20:11:22 · 8097 阅读 · 0 评论 -
在 JS 中使用 fetch 更加高效地进行网络请求
原文 http://blog.parryqiu.com/2016/03/02/using_fetch_in_nodejs/正文~在前端快速发展地过程中,为了契合更好的设计模式,产生了 fetch 框架,此文将简要介绍下 fetch 的基本使用。在 AJAX 时代,进行请求 API 等网络请求都是通过 XMLHttpRequest 或者封装后的框架进行网络请求。转载 2017-03-28 13:57:57 · 5944 阅读 · 1 评论 -
在 JS 中使用 fetch 更加高效地进行网络请求(二),这一篇更多的是坑的处理
原文:http://www.tuicool.com/articles/yqyiYjR正文~未来 现在已被 Fetch替代。最近把阿里一个千万级 PV 的数据产品全部由 jQuery 的 $.ajax 迁移到 Fetch ,上线一个多月以来运行非常稳定。结果证明,对于 IE8+ 以上浏览器,在生产环境使用 Fetch 是可行的。由于 Fetch API 是基于 P转载 2017-03-28 14:24:54 · 12373 阅读 · 0 评论 -
Html5使用history对象history.pushState()和history.replaceState()方法添加和修改浏览历史记录
原文:https://www.studyscript.com/Post/index/id/3018.html?page=3正文~概述浏览器窗口有一个history对象,用来保存浏览历史。如果当前窗口先后访问了三个网址,那么history对象就包括三项,history.length属性等于3。history.length // 3转载 2017-03-28 14:27:03 · 96931 阅读 · 4 评论 -
Javascript异步编程的4种方法
越来越胡搞的前端,你还不能不学,学了用处也不大下面正文~,存下以后研究吧-------------------------------------------------------你可能知道,Javascript语言的执行环境是"单线程"(single thread)。所谓"单线程",就是指一次只能完成一件任务。如果有多个任务,就必须排队,前面一个任务完成,再执行后面转载 2017-04-11 10:40:54 · 395 阅读 · 0 评论