js

select 默认值

血红的双手。 提交于 2020-03-12 04:36:52
一般情况下下拉选择框的默认值都是第一个,比如下面这个代码的默认值肯定是“红色”: <select> <option value="红色">红色</option> <option value="绿色">绿色</option> <option value="蓝色">蓝色</option> </select> 那么如果我们想自定义option的默认值应该怎么写呢?其实借助JS很容易实现,比如可以根据option的值来实现: <select> <option value="红色">红色</option> <option value="绿色">绿色</option> <option value="蓝色">蓝色</option> </select> <script> document.getElementsByTagName_r("select")[0].value="绿色"; </script> 再比如根据option值的顺序来实现(当然是前者更好一些): <select> <option value="红色">红色</option> <option value="绿色">绿色</option> <option value="蓝色">蓝色</option> </select> <script> document.getElementsByTagName_r("option")(1)

Ajax清除浏览器js、css、图片缓存的方法

巧了我就是萌 提交于 2020-03-12 04:24:16
做东东时都是把图片在服务器的地址存放在数据库里面,然后到浏览器中显示,但是后来发现了两个问题。 第一:为了安全起见, js 是无法读取本地的图片的,不然你写一个js,岂不是可以获取任何人电脑里面的文件了。 第二:图片存在的是在服务器的硬盘上面,而不是在客户的硬盘里面,所以也是取不到的 后来在网上找方法,找的方法,都是各种转换二进制到xml中,的各种高大上的答案,然后本人又实在太懒了,就自己想了一个 方法,就是利用 BufferedImage 这个类。 开始 首先说说我的思路,就是把本地的图片,加载到内存中,然后放到 BufferedImage 这个缓冲流中,然后利用 ImageIO.write(), 这下大家都估计想得到一种思路了,但是如果说 ajax ,得到的数据,估计还是啥个乱七八糟的啥吧!没关系,稍后介绍。 工具类 首先建立一个 加载图片 的工类具,把一个图片的地址当参数存进去,得到这个图片的缓冲流: /** * 根据图片的地址,返回图片的缓冲流 * @param addr * @return */ public static BufferedImage getInputStream(String addr){ try { String imgPath = addr; BufferedImage image = ImageIO.read(new FileInputStream

JS的异步与加载时间线

为君一笑 提交于 2020-03-12 04:07:06
一、JS同步和异步 1、同步模式:又称阻塞模式,会阻止浏览器的后续处理,停止了后续的解析,因此停止了后续文件的加载、渲染、代码执行(即如果加载到js文件要等到文件加载完成后执行,才能继续执行后面的代码)。所以默认同步执行才是安全的。但这样如果js中有输出document内容、修改dom、重定向等行为,就会造成页面堵塞。所以一般建议把 < script > 标签放在< body>结尾处,这样尽可能减少页面阻塞。 2、异步模式:按需加载,用到的时候再加载,不用到就不需要加载,例如回调函数。(异步在加载的过程中产生一个子进程去加载当前程序,自己去执行下一个程序) 特点:单线程的异步就是多线程,只不过用异步的方式表现出来了 3、同步和异步的区别:JavaScript 为单线程,所以同步为单线程,异步为模拟多线程;同步和异步的区别在于在执行程序的顺序不同。 4、异步 三种方式 (1)defer在DOM文档解析完成之后才执行js文件,IE独有 在IE低版本中 defer 可以让script请求的文件异步加载 <script defer> console. log ( "hello" ) ; </script> (2)async 针对其他浏览器,加载完就执行,只能加载外部脚本 不能把js代码写在js文件里 <script src = "load.js" async> </script> ``

使用微信JS-SDK调用微信浏览器的接口

自作多情 提交于 2020-03-12 01:57:03
先附上微信公众平台的相关链接: 微信公众平台: https://mp.weixin.qq.com/ 微信公众平台开发文档: https://mp.weixin.qq.com/wiki 微信公众平台JS-SDK开发文档: https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421141115&token=&lang=zh_CN 阅读文档可知,基本流程如下: 1.绑定域名 先登录微信公众平台进入“公众号设置”的“功能设置”里填写“JS接口安全域名”。 2.引入JS文件 在需要调用JS接口的页面引入如下JS文件 http(s)://res.wx.qq.com/open/js/jweixin-1.0.0.js 如需使用摇一摇周边功能,请引入 http://res.wx.qq.com/open/js/jweixin-1.1.0.js 3.通过config接口注入权限验证配置 wx.config({ debug: true, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。 appId: '', // 必填,公众号的唯一标识 timestamp: , // 必填,生成签名的时间戳 nonceStr: '', // 必填

js数据结构与算法存储结构

孤街醉人 提交于 2020-03-12 01:50:30
数据结构(程序设计=数据结构+算法) 数据结构就是关系,没错,就是数据元素相互之间存在的一种或多种特定关系的集合。 传统上,我们把数据结构分为逻辑结构和物理结构。 逻辑结构: 是指数据对象中数据元素之间的相互关系,也是我们今后最需要关注和讨论的问题。 物理结构: 是指数据的逻辑结构在计算机中的存储形式。 常用的数据结构有: 数组,队列(queue),堆(heap),栈(stack),链表(linked list ),树(tree),图(graph)和散列表(hash) 栈(stack):运算只在表的一端进行;队列(Queue):运算只在表的两端进行。 队列(queue)是只允许在一端进行插入操作,而在另一端进行删除操作的线性表。 与栈相反,队列是一种先进先出(First In First Out, FIFO)的线性表。 与栈相同的是,队列也是一种重要的线性结构,实现一个队列同样需要顺序表或链表作为基础。 四大结构 集合结构 线性结构 树形结构 图形结构 顺序存储和链式存储 数据元素的存储结构形式有两种:顺序存储和链式存储。 例如我们编程语言的数组结构就是这样滴。 链式存储结构:是把数据元素存放在任意的存储单元里,这组存储单元可以是连续的,也可以是不连续的。 链式存储结构 线性表 线性表:就好像是排队一样,具有线一样性质的结构,它是由零个或多个数据元素组成的有限序列。 若元素存在多个

JS之document.cookie详解以及$.cookie的使用

纵然是瞬间 提交于 2020-03-11 22:29:08
文章目录 什么是cookie? 设置cookie 获取cookie的值 常用的cookie操作及其函数实现 addCookie getCookie deleteCookie jQuery cookie的使用 什么是cookie? cookie 是存储于访问者的计算机中的变量。每当同一台计算机通过浏览器请求某个页面时,就会发送这个 cookie。你可以使用 JavaScript 来创建和取回 cookie 的值。 设置cookie 每个cookie都是一个名/值对,可以把下面这样一个字符串赋值给document.cookie: document.cookie="userId=828"; document.cookie看上去就像一个属性,可以赋不同的值。但它和一般的属性不一样,改变 它的赋值并不意味着丢失原来的值,例如连续执行下面两条语句: document.cookie="userId=828"; document.cookie="userName=hulk"; 这时浏览器将维护两个cookie,分别是userId和userName,因此给document.cookie赋值更像执 行类似这样的语句: document.addCookie("userId=828"); document.addCookie("userName=hulk"); 事实上

前端常见跨域解决方案(全)

时间秒杀一切 提交于 2020-03-11 21:53:21
什么是跨域? 跨域是指一个域下的文档或脚本试图去请求另一个域下的资源,这里跨域是广义的。 广义的跨域: 1.) 资源跳转: A链接、重定向、表单提交 2.) 资源嵌入:<link>、<script>、<img>、<frame>等dom标签,还有样式中background:url()、@font-face()等文件外链 3.) 脚本请求: js发起的ajax请求、dom和js对象的跨域操作等 其实我们通常所说的跨域是狭义的,是由浏览器同源策略限制的一类请求场景。 什么是同源策略? 同源策略/SOP(Same origin policy)是一种约定,由Netscape公司1995年引入浏览器,它是浏览器最核心也最基本的安全功能,如果缺少了同源策略,浏览器很容易受到XSS、CSFR等攻击。所谓同源是指”协议+域名+端口”三者相同,即便两个不同的域名指向同一个ip地址,也非同源。 同源策略限制以下几种行为: 1.) Cookie、LocalStorage 和 IndexDB 无法读取 2.) DOM 和 Js对象无法获得 3.) AJAX 请求不能发送 常见跨域场景 URL 说明 是否允许通信 http://www. domain.com/a.js http://www. domain.com/b.js 同一域名,不同文件或路径 允许 http://www. domain.com/lab

简单粗暴地理解js原型链--js面向对象编程

∥☆過路亽.° 提交于 2020-03-11 21:51:00
简单粗暴地理解js原型链--js面向对象编程 原型链理解起来有点绕了,网上资料也是很多,每次晚上睡不着的时候总喜欢在网上找点原型链和闭包的文章看,效果极好。 不要纠结于那一堆术语了,那除了让你脑筋拧成麻花,真的不能帮你什么。简单粗暴点看原型链吧,想点与代码无关的事,比如人、妖以及人妖。 1)人是人他妈生的,妖是妖他妈生的。人和妖都是对象实例,而人他妈和妖他妈就是原型。原型也是对象,叫原型对象。 2)人他妈和人他爸啪啪啪能生出一堆人宝宝、妖他妈和妖他爸啪啪啪能生出一堆妖宝宝,啪啪啪就是构造函数,俗称造人。 3)人他妈会记录啪啪啪的信息,所以可以通过人他妈找到啪啪啪的信息,也就是说能通过原型对象找到构造函数。 4)人他妈可以生很多宝宝,但这些宝宝只有一个妈妈,这就是原型的唯一性。 5)人他妈也是由人他妈他妈生的,通过人他妈找到人他妈他妈,再通过人他妈他妈找到人他妈他妈……,这个关系叫做原型链。 6)原型链并不是无限的,当你通过人他妈一直往上找,最后发现你会发现人他妈他妈他妈……的他妈都不是人,也就是原型链最终指向null。 7)人他妈生的人会有人的样子,妖他妈生的妖会有妖的丑陋,这叫继承。 8)你继承了你妈的肤色,你妈继承了你妈他妈的肤色,你妈他妈……,这就是原型链的继承。 9)你谈对象了,她妈让你带上房产证去提货,你若没有,那她妈会问你妈有没有,你妈没有那她妈会问你妈她妈有没有…

JS学习笔记(一)基本数据类型

徘徊边缘 提交于 2020-03-11 19:17:21
JS学习笔记(一)基本数据类型 基本数据类型 :String、Number、Null、Object、Boolean typeof :检测给定变量的数据类型 可能返回的字符串:“undefined” 、“boolean”、“string”、“number”、“object”、“function”。 Null类型 var message ; typeof message ; //定义但未初始化值返回"undefined" typeof age ; //未定义变量返回"undefined" var car = null ; //初始化为Null类型 typeof car ; //返回"object"字符串 alert ( null == undefined ) ; /*返回为true,因为undefined是派生于null值,因此在ECMA-262中规定他们的相等性测试返回为true*/ Boolean类型 var f = false ; var t = true ; //True与False不是Boolean类型,它们是标识符 /* *虽Boolean类型字面上只有两个,但是ECMAScript中所有类型的值都有与这两个boolean值等价的值 *等价表详见下表 */ 五种数据类型与Boolean类型的互换 数据类型 转为true的值 转换为false的值 Boolean true

js 原型链

邮差的信 提交于 2020-03-11 16:32:04
console.log(typeof Object)//null var o = {} ,var obj = new Object, new Dog() console.log(typeof Function) console.log(typeof Number) console.log(typeof Boolean) console.log(typeof String) //除了undefined js 其余5中类型的封装类型本质都是函数 console.log(typeof undefined) console.log(typeof Date) console.log(typeof Array) console.log(Date.prototype) console.log(Object.prototype) console.log(Function.prototype)//function(){} 上面是迷惑你的,下面才是干货: function Father(){ this.p = 'p' } var f = new Father function Son(){ } //Son 构造函数的原型对象 指向了f //这样就继承了f 的p 属性 Son.prototype = f //Son 的实例中有一个__proto__记录了 原型对象 Son.prototype 也就是