javascript
文章平均质量分 91
斷了De弦
这个作者很懒,什么都没留下…
展开
-
js前端文件下载
一、HTML与文件下载如果希望在前端侧直接触发某些资源的下载,最方便快捷的方法就是使用HTML5原生的download属性,例如:<a href="large.jpg" download>下载</a>具体介绍可参考我之前的文章:“了解HTML/HTML5中的download属性”。但显然,如果纯粹利用HTML属性来实现文件的下载(而不是浏览器打开或浏览),...转载 2018-08-09 10:37:52 · 17566 阅读 · 1 评论 -
js原型链
只要是对象就有原型, 并且原型也是对象, 因此只要定义了一个对象, 那么就可以找到他的原型, 如此反复, 就可以构成一个对象的序列, 这个结构就被成为原型链JS中原型链,说简单也简单。首先明确: 函数(Function)才有prototype属性,对象(除Object)拥有__proto__。首先,我画了一张图。所谓原型链,指的就是图中的proto这一条指针链!原型链的顶层...转载 2018-08-15 17:16:00 · 1250 阅读 · 0 评论 -
js数组的基本操作
shift:删除原数组第一项,并返回删除元素的值;如果数组为空则返回undefined,改变原数组。var a = [1,2,3,4,5]; var b = a.shift(); //a:[2,3,4,5] b:1 unshift:将参数添加到原数组开头,并返回数组的长度,改变原数组注:在IE6.0下测试返回值总为undefined,FF2.0下测试返回值为7,所以这个方法的...原创 2018-08-08 20:21:28 · 165 阅读 · 0 评论 -
js数组去重
// 借助新数组 通过indexOf方判断当前元素在数组中的索引如果与循环的下标相等则添加到新数组中var arr = [1,23,1,1,1,3,23,5,6,7,9,9,8,5];function rep(arr) { var ret = []; for (var i = 0; i < arr.length; i++) { if (arr.index...原创 2018-08-08 20:27:27 · 201 阅读 · 0 评论 -
js的数据类型
基本类型ECMScript中有5种简单的数据类型(也称为基本数据类型):Undifined,Null,Boolean,Number和String。还有一种复杂数据类型——Object。typeof操作符可以检测给定变量的数据类型var message="dd";console.log(message);//'String'引用类型Object,Array,Date,RegE...转载 2018-08-08 21:59:13 · 240 阅读 · 0 评论 -
ES6 解构赋值
一 我们为什么要使用解构在学习ES6新的特性解构赋值之前,我们先来看看为什么要使用解构,以前如果我们需要获取对象或者数组里面的数据,并且把它们存入数组,需要写很多代码。如下const person = { name: 'little bear', age: 18, sex: '男'}let age = person.agelet name = person.namel...原创 2018-08-16 15:32:00 · 228 阅读 · 0 评论 -
返回顶部js插件的编写
【1】锚点 使用锚点链接是一种简单的返回顶部的功能实现。该实现主要在页面顶部放置一个指定名称的锚点链接,然后在页面下方放置一个返回到该锚点的链接,用户点击该链接即可返回到该锚点所在的顶部位置<body style="height:2000px;"><div id="topAnchor"></div><a href="#topAnchor"转载 2018-08-15 18:02:54 · 224 阅读 · 0 评论 -
js内存分配机制
简介每种编程语言都有它的内存管理机制,比如简单的C有低级的内存管理基元,像malloc(),free()。同样我们在学习JavaScript的时候,很有必要了解JavaScript的内存管理机制。 JavaScript的内存管理机制是:内存基元在变量(对象,字符串等等)创建时分配,然后在他们不再被使用时“自动”释放。后者被称为垃圾回收。这个“自动”是混淆并给JavaScript(和其他高级语言...转载 2018-09-12 11:18:32 · 3881 阅读 · 4 评论 -
html js css实现九九乘法表
效果图:HTML:<body><div id="main"></div></body>CSS:.row{ text-align: center; width: 800px; margin: 0 auto;}.col{ border: 1px solid #000000; di...原创 2018-09-12 15:37:09 · 3280 阅读 · 0 评论 -
js跨域资源共享
同源策略同源策略是浏览器的一个安全功能,不同源的客户端脚本在没有明确授权的情况下,不能读写对方资源。只要协议、域名、端口有任何一个不同,都被当作是不同的域。跨域资源共享1、CORS基本思想:使用自定义的HTTP头部让浏览器与服务器进行沟通,从而决定请求或相应是否成功,还是失败。CORS原理:只需要向响应头header中注入Access-Control-Allow-Origin,...原创 2018-08-07 17:52:49 · 919 阅读 · 0 评论 -
js执行环境、作用域、作用域链、变量提升、函数提升
1.执行环境(execution context) 执行环境定义了变量和函数有权访问的其他数据,决定了他们各自的行为。每个执行环境都有与之对应的变量对象(variable object),保存着该环境中定义的所有变量和函数。我们无法通过代码来访问变量对象,但是解析器在处理数据时会在后台使用到它。 执行环境有全局执行环境(也称全局环境)和函数执行环境之分。执行环境如其名是在运行和执行代码...原创 2018-08-07 16:25:40 · 230 阅读 · 0 评论 -
js深拷贝二维数组
因为javascript分基本类型与引用类型(与java、c#类似)。Array是引用类型,所以直接用=号赋值的话,只是把源数组的地址(或叫指针)赋值给目的数组,并没有实现数组的数据的拷贝。一维数组深拷贝方法:1、slice()var arr = [1,2,3,4,5]var arr2 = arr.slice(0)2、concat()var arr = [1,2,3,4,...原创 2018-07-31 17:41:17 · 5737 阅读 · 0 评论 -
javascript中this的用法
在javascript中,this对象是在运行时基于函数的执行环境绑定的:在全局函数中,this等于window,而当函数被作为某个对象的方法调用时,this等于那个对象。不过,匿名函数的执行环境具有全局性,因此其this对象通常指向window。下面来解释一下this绑定的四种情况:1、默认绑定默认绑定全局变量function fn() { console.log( t...原创 2018-07-27 18:04:03 · 310 阅读 · 0 评论 -
事件处理程序(事件绑定、事件监听、事件侦听器)
相应某个事件的函数叫做事件处理程序(或事件侦听器)。1、TTML事件处理程序<script type="text/javascript"> function showMessage() { alert('hello world!'); }</script> <input type="button" value="Click...原创 2018-07-31 18:59:54 · 1201 阅读 · 0 评论 -
闭包
闭包是指有权访问另一个函数作用域中变量的函数。创建闭包的常见方式,就是在一个函数内部创建另一个函数。无论什么时候在函数中访问一个变量时,就会从作用域链中搜索具有相应名字的变量。一般来讲,当函数执行完毕后,局部活动对象就会被销毁,内存中仅保存全局作用域(全局执行环境的变量对象)。但是闭包的情况又有所不同,由于闭包会携带包含它的作用域,因此会比其他函数占用更多的内存。如下为一个闭包的实例:...原创 2018-07-27 21:36:26 · 129 阅读 · 0 评论 -
ES6 promise理解
Promise 的含义Promise 是异步编程的一种解决方案,比传统的解决方案——回调函数和事件——更合理和更强大。它由社区最早提出和实现,ES6 将其写进了语言标准,统一了用法,原生提供了Promise对象。ES5实现:https://www.cnblogs.com/malingyang/p/6535805.htmlPromise实现串行调用,判断多个图片异步加载完成:Prom...转载 2018-08-06 16:23:57 · 1141 阅读 · 0 评论 -
js 链式调用
链式调用举例:jQuery中的$(ele).show().find(child).hide()实现方法1.方法体内返回对象实例自身(this)var Obj = { a: 1, func: function(){ this.a += 1; return this }}Obj.func().func();console.lo...原创 2018-08-06 16:50:26 · 725 阅读 · 0 评论 -
js中的异步编程
简介JS语言的执行环境是“单线程”。所谓单线程,就是一个时间只能完成一个任务,如果有多个任务,就必须排队。“单线程”的坏处是:只要有一个任务耗时很长,后面的任务就必须排队等待,会拖延整个程序的执行。为了解决这个问题,JS的任务执行模式分为两种:同步(synchronous)和异步(asynchronous)。同步模式就是上面提到的,后面的任务等待前面的任务完成后,才能执行。程序...转载 2018-08-06 17:02:00 · 161 阅读 · 0 评论 -
js类型转换
1、强制类型转换通过String(),Number(),Boolean()函数强制转换 var str=123; var str1='123'; console.log(typeof str); console.log(typeof str1); console.log(typeof String(str)); console.log(typeof Nu...原创 2018-09-13 10:32:24 · 166 阅读 · 0 评论