javascript 代码
文章平均质量分 78
starwmx520
这个作者很懒,什么都没留下…
展开
-
iframe 间传递数据
以前在做项目时会遇到iframe的嵌套。同域名下的交互是很简单的:父级方法获取iframe:var a=document.querySelector('#iframe1'); //获取子的window var w=a.contentWindow || w.contentDocument;w就是子级的windoww.name w.fn w.document原创 2015-11-09 17:07:25 · 612 阅读 · 0 评论 -
ES6 symbol
在map中键可以用对象了。但在其他地方还不行,es6添加了Symbol第七种数据类型。它可以用来配置为对象的属性它表示独一无二的值。凡是属性名属于Symbol类型,就都是独一无二的,可以保证不会与其他属性名产生冲突。let s = Symbol();typeof s// "symbol"上面代码中,变量s就是一个独一无二的值。typeof运算符的结果,表明变量原创 2016-04-19 11:49:05 · 361 阅读 · 0 评论 -
es6 for of
//for of 用来遍历 set map generator var engines = new Set(["Gecko", "Trident", "Webkit", "Webkit"]);for (var e of engines) { console.log(e);}var es6 = new Map();es6.set("edition", 6);原创 2016-04-19 12:00:51 · 311 阅读 · 0 评论 -
FormData ajax
var fd=new FormData(); fd.append('userId',userid); fd.append('starName',name); fd.append('starType',1); fd.append('fileType',0); fd.append('weibo',weibo)原创 2016-04-19 15:39:29 · 439 阅读 · 0 评论 -
es5、6新添加的js方法
1、Object.keys(obj)返回对象可被枚举的自身属性名数组Object.keys({name:'star',age:23})//['name','age']2、Object.assign(target,obj,obj...)把多个源对象自身可枚举属性拷贝给目标对象并返回目标对象源对象属性会全部拷贝到目标对象,如有同属性会被覆盖3、every//every原创 2016-06-02 14:59:16 · 956 阅读 · 0 评论 -
拖放事件
拖放流程:涉及到两个标签,一个是拖动标签,一个是拖入的标签。拖动标签:首先需要给它设置允许拖动属性 draggalbe=true为其绑定拖动开始事件(只在拖动开始时触发),拖动中移动事件,拖动完成事件dragstart事件内通过setData来设置值如iddrag事件内可以通过e对象来获取当前位置信息dragend事件会在最后完成时触发释放目标标签:原创 2016-06-03 15:02:39 · 315 阅读 · 0 评论 -
cookie domain
cookie的设置和访问是有同源限制的。当然可以在主域名和二级域名间共享cookie$.cookie('name','star',{path:'/',domain:'ishangwo.cn'})设置时指定path为根,domain为XX.cn这样aa.xx.cn 和bb.xx.cn下都可以访问了设置完后,bb.xx.cn下的页面直接访问就可,不必再设置其他。原创 2016-06-06 11:50:33 · 369 阅读 · 0 评论 -
AJAX
ajax 请求只能发给同源的网址以下是规避限制1、jsonp它使用简单,老浏览器也支持,服务器改动小。它是通过页面添加一个script 标签,向服务器请求jsonp,这种不受同源限制。服务器返回将数据放在指定名字的回调函数里。页面上创建此函数来接受数据。2、cors跨源资源分享服务器允许访问的域名即可通过access-control-allow-origin原创 2016-06-06 15:22:21 · 217 阅读 · 0 评论 -
js url编码
url只能是英文、数字和一些符号当url上有其他字符如汉字时就需要编码了escape()不能直接用于URL编码,它的真正作用是返回一个字符的Unicode编码值。比如"春节"的返回结果是%u6625%u8282,,escape()不对"+"编码 主要用于汉字编码,现在已经不提倡使用。encodeURI()是Javascript中真正用来对URL编码的函数。 编码原创 2016-06-13 10:43:49 · 591 阅读 · 0 评论 -
iframe 通信和跨域通信
几年前页面里使用iframe嵌套使用的还是很多的。以下是多种使用方法:1、同域下嵌套:父页面:window.onload=function(){ //父页面修改iframe var docu=document.querySelector('#iframe2'); docu.contentWindow.document.querySelector('#div原创 2016-06-06 15:01:08 · 7616 阅读 · 0 评论 -
Object 详解
1、object的原型默认创建的对象字面量变量其原型指向Object.prototypeobj.__proto__===Object.prototype //true2、object.constructor 对象字面量的constructor 指向Object obj.constructor===Object //true构造函数实例对象的constructor 指向原创 2016-07-26 21:55:09 · 1291 阅读 · 0 评论 -
git
1、安装完后,在环境变量里添加bin目录创建项目文件夹cmd进入目录git init 把当前目录变成git的仓库。它会在目录下创建.gitgit add // 添加文件到缓存git commit -m "desc" 提交到仓库git status 查看缓存需提交文件列表git log //查看仓库历史记录git reflog //同上返回简短的历史还有版本号原创 2016-06-13 21:54:23 · 426 阅读 · 0 评论 -
ECMAscript6 map
JavaScript的对象(Object),本质上是键值对的集合(Hash结构),但是只能用字符串当作键。这给它的使用带来了很大的限制。为了解决这个问题,ES6提供了Map数据结构。它类似于对象,也是键值对的集合,但是“键”的范围不限于字符串,各种类型的值(包括对象)都可以当作键。Map结构提供了“值—值”的对应//js中对象的键只能是字符串,当把一个ele当作键时它会自动转换原创 2016-04-19 10:55:45 · 768 阅读 · 0 评论 -
ECMAscript6 set
ES6提供了新的数据结构Set。它类似于数组,但是成员的值都是唯一的,没有重复的值。Set本身是一个构造函数,用来生成Set数据结构。//set 类似于数组,但是成员都是唯一的。//set本身是一个构造函数,用来生成set数据结构//new Set() 函数可以接受一个数组,或类似数组的对象,作为初始参数。//s.add 添加成员,添加的值不会发生类型转换,5 "5"原创 2016-04-19 10:42:04 · 262 阅读 · 0 评论 -
appcache 缓存
在h5新页面里可以添加缓存文件。配置不变的js 图片等配置:在页面html 上添加 manifest="demo.appcache"manifest文件需要正确的MIME-type,即 "text/cache-manifest"。必须在 web 服务器上进行配置。(需要在iis里添加文件配置)appcache配置文件:CACHE MANIFEST#v1原创 2015-12-28 11:24:19 · 2557 阅读 · 0 评论 -
javascript 语言技巧
1、使用===它比较不会类型转换,速度要比==快'1'===1 false'1'==1 true2、typeof 一元操作符,用于以字符串的形式返回变量的数据类型typeof null Array Date 都返回object3、instanceof 判断对象是否为指定类的实例 [] instanceof Array4、将一个数组元素追加到另一个数组。Ar原创 2015-11-12 14:54:16 · 285 阅读 · 0 评论 -
indexedDB 数据库
以前学习.net开发时用过数据库。现在前端也可以用了。indexedDB:1、创建、获取:open会返回一个IDBOpenDBRequest对象,参数中数据名,版本var req=indexedDB.open('test',1.0);成功回调函数内可获取db对象,可来操作数据库req.onsuccess=function(e){var db=e.target.resul原创 2016-01-04 15:28:03 · 389 阅读 · 0 评论 -
Web SQL Database
//获取数据库,没有创建 参数:名称,版本,描述,大小,创建回调var db=openDatabase('database','2.0','本地数据库',5*1024*1024);//db.transaction函数用来执行语句,处理事务,当一条语句执行错误时,整个事务回滚//有三个参数:包含事务的函数,成功的回调可选, 失败回调可选db.transaction(funct原创 2016-01-04 16:11:23 · 320 阅读 · 0 评论 -
FileReader 用法
var fi = document.getElementById("id_file1").files[0];var reader = new FileReader(); //开始读取事件reader.onloadstart=function(e){ $('#p_output').append('start');} //读取进行中事件reader.onprogress=func原创 2016-01-21 10:37:29 · 525 阅读 · 0 评论 -
h5 sessionStorage localStorage存储
以前在前端只能用cookie来存储一些信息,而且还需要自己写获取设置删除方法。现在h5新增了session local 两个对象。session 是本页面的会话,只能在本页面访问。关闭页面将会被清除session 方法:sessionStorage.setItme(name,val) sessionStorage.name=XX sessionStorage[name]原创 2015-12-23 11:49:49 · 730 阅读 · 0 评论 -
js 新增的方法
//querySelector用法/*它会返回符合结果的第一个ele*选择器可以.类 标签名 #id [name='name1'] ele.class ele#id *还可用,应用多个选择器 */console.log('.a1',document.querySelector('.a1'));console.log('.a3',document.querySelecto原创 2015-12-09 15:45:04 · 553 阅读 · 0 评论 -
jsonp跨域解析
function func(data){ console.log(data);}$(function(){$.ajax({ url: 'http://news.auto.sina.com.cn/m/label/get_label_info.php?label=%E8%BD%A6%E8%81%94%E7%BD%91&length=2&page=1'原创 2016-01-14 11:51:04 · 235 阅读 · 0 评论 -
js中的数学
三角形,的sin cos tan 对于一角来说,对边是a 斜边是c 邻边是bsin a/c 正弦cos b/c 余弦tan a/b 正切Math中也有以上三个方法,参数是弧度。弧度=2*Math.PI/360*角度在js里当一个点需要以特定角度移动一定距离时,这时需要来算x y 轴上的移动距离。就会动到以上数学了y轴长度=sin(弧度)*移原创 2015-12-28 11:57:54 · 567 阅读 · 0 评论 -
js 正则表达式
正则在一般情况下不会用,但有时需解析字符串时就体现了它的能力。通过我们是用//.text()这样来判断。用在验证上。正规是用RegExp来创建。var regexp1=new RegExp('as','gmi');正则对象的方法有exec test 等。exec:var res=regexp1.exec('fdasfdsastar')//exec 检测与正则的原创 2016-04-19 10:32:07 · 247 阅读 · 0 评论 -
javascript 数组
数组是值的有序集合,每个值叫做元素,每个元素在数组中都有数字位置编号,也就是索引,js中的数组是弱类型的,数组中可以含有不同类型的元素。数组元素甚至可以是对象或其它数组1、数组可以动态添加值的,无需指定大小。2、数组可以用for in 枚举,但是会枚举出原型上的属性3、可以用for 循环 while 等4、0 in arr 判断数组索引0是否有值5、可以通过修改原创 2016-08-12 15:37:43 · 246 阅读 · 0 评论