javascript
文章平均质量分 69
Run4Freedom
这个作者很懒,什么都没留下…
展开
-
Web Storage 概念和用法
Web Storage API 提供机制, 使浏览器能以一种比使用Cookie更直观的方式存储键/值对。Web Storage 概念和用法Web Storage 包含如下两种机制:sessionStorage 为每一个给定的源(given origin)维持一个独立的存储区域,该存储区域在页面会话期间可用(即只要浏览器处于打开状态,包括页面重新加载和恢复)。localStora...原创 2018-04-13 13:42:25 · 1934 阅读 · 1 评论 -
JavaScript实现继承的几种方式
javascript实现继承的几种方式JS作为面向对象的弱类型语言,继承也是其非常强大的特性之一。JS继承的实现方式既然要实现继承,那么首先我们得有一个父类,代码如下:// 定义一个动物类function Animal (name) { // 属性 this.name = name || 'Animal'; // 实例方法 this.sleep = f...原创 2018-03-24 00:06:23 · 2206 阅读 · 0 评论 -
深入理解javascript闭包
什么是闭包? 当一个函数能够记住并访问到其所在的词法作用域及作用域链,特别强调是在其定义的作用域外进行的访问,此时该函数和其上层执行上下文共同构成闭包。需要明确的几点:1.闭包一定是函数对象2.闭包和词法作用域、作用域链、垃圾回收机制息息相关3.当函数一定是在其定义的作用域外进行访问时,才产生闭包4.闭包是由该函数和其上层执行上下文共同构成闭包的应用需要注意的事...原创 2018-04-13 13:41:05 · 268 阅读 · 0 评论 -
标准时间转换
var format = function(time, format){ var t = new Date(time); var tf = function(i){return (i < 10 ? '0' : '') + i}; return format.replace(/yyyy|MM|dd|HH|mm|ss/g, function(a){ swi...原创 2018-05-30 14:51:55 · 1043 阅读 · 0 评论 -
style.left 与offsetLeft,style.width和offsetWidth的之间区别
1. style.left 与offsetLeft之间的区别 offsetLeft 获取的是相对于父对象的左边距marginleft,left 获取或设置相对于 具有定位属性(position定义为relative)的父对象 的左边距如果父div的position定义为relative,子div的position定义为absolute,那么子div的style.left的值是相对于父div的...原创 2018-07-10 17:46:04 · 763 阅读 · 0 评论 -
jQuery之ajax篇
jquery之ajax篇一.jquery ajax设置header的两种方式1.设置headers参数:headers: { // "Authorization":"Basic "+ auth, 'Content-Type': 'application/json'},2.设置在beforeSend方法中beforeSend: function (xhr) { xhr....原创 2019-02-18 17:06:17 · 670 阅读 · 0 评论 -
ES6---箭头函数()=>{} 与function的区别
1.箭头函数与function定义函数的写法://functionfunction fn(a, b){ return a + b;}//arrow functionvar foo = (a, b)=>{ return a + b };2.this的指向:使用function定义的函数,this的指向随着调用环境的变化而变化的,而箭头函数中的this指向是固定不...原创 2018-03-05 15:46:52 · 72128 阅读 · 7 评论 -
javascript中的call、apply和bind的用法
call和applycall、apply和bind都可以改变this的指向,call和apply绑定对象之后会立即执行,而bind绑定的方法需要调用才能执行。obj.call(thisObj, arg1, arg2, ...);obj.call(thisObj, [arg1, arg2, ...]);两者的作用一致,都是把obj(即this)绑定到thisObj,这个时候this...原创 2018-03-01 11:38:56 · 256 阅读 · 0 评论 -
AngularJS多重视图和路由
1.安装可以用Bower来安装,这样会将它存放到Bower的目录中。$bower install--save angular -route在HTML中,需要在AngularJS之后引用 angular-route :<script src="js/vendor/angular.js"></script><script src="js/vendor/angular-route.js"></scrip>原创 2017-12-27 12:13:37 · 715 阅读 · 0 评论 -
ECMAScript 6 简介
ECMAScript 6 简介什么是ES6ECMAScript和JavaScript的关系ECMAScript 6(以下简称ES6)是JavaScript语言的下一代标准,已经在2015年6月正式发布了。Mozilla公司将在这个标准的基础上,推出JavaScript 2.0。ECMAScript和JavaScript到底是什么关系?很多初学者会感到困惑,简单来说,ECMAScript是JavaS原创 2017-12-19 15:24:57 · 297 阅读 · 0 评论 -
ES6 let和const命令
let命令1.基本用法 ES6新增了let命令,用来声明变量。它的用法类似于var,但是所声明的变量,只在let命令所在的代码块内有效。2.不存在变量提升 let不像var那样,会发生“变量提升”现象。3.暂时性死区 只要块级作用域内存在let命令,它所声明的变量就“绑定”(binding)这个区域,不再受外部的影响。4.不允许重复声明 let不允许在相同作用域内,重复声明同一个变量。块级作原创 2017-12-19 16:23:08 · 285 阅读 · 0 评论 -
JavaScript Promise对象
JavaScript Promise对象ECMAscript 6 原生提供了 Promise 对象。Promise 对象代表了未来将要发生的事件,用来传递异步操作的消息。Promise 对象有以下两个特点:1、对象的状态不受外界影响。Promise 对象代表一个异步操作,有三种状态:pending: 初始状态,不是成功或失败状态。fulfilled: 意味着操作成功完成。rejected: 意原创 2018-01-02 18:21:52 · 263 阅读 · 0 评论 -
AngularJS 依赖注入 深入理解
AngularJS 依赖注入什么是依赖注入?是一种软件设计模式,在这种模式下,一个或更多的依赖(或服务)被注入(或者通过引用传递)到一个独立的对象(或客户端)中,然后成为了该客户端状态的一部分。一个对象通常有三种方式可以获得对其依赖的控制权: (1) 在内部创建依赖; (2) 通过全局变量进行引用; (3) 在需要的地方通过参数进行传递 依赖注入是通过第三种方法实现的。其余原创 2017-12-28 17:48:30 · 647 阅读 · 0 评论 -
break、continue、return的区别
break,continue,return的区别(1)break 直接跳出当前的循环,从当前循环外面开始执行,忽略循环体中任何其他语句和循环条件测试。他只能跳出一层循环,如果你的循环是嵌套循环,那么你需要按照你嵌套的层次,逐步使用break来跳出. (2)continue 也是终止当前的循环过程,但他并不跳出循环,而是继续往下判断循环条件执行语句.他只能结束循环中的一次过程原创 2018-01-22 10:58:25 · 1678 阅读 · 0 评论 -
get和post有什么区别
1.html标准对http协议的使用方式:1 用途:Get是用来从服务器上获得数据,而Post是用来向服务器上传递数据。2.传输方式:GET使用URL或Cookie传参。而POST将数据放在BODY中。3.大小限制:GET的URL会有长度的限制,则POST的数据可以非常大。4.安全性:POST比GET安全,因为数据在地址栏上不可见。2.get和POST与数据如何传递没有关系:原创 2018-01-24 11:10:26 · 449 阅读 · 0 评论 -
JavaScript内存管理
简介内存生命周期JavaScript 的内存分配值的初始化通过函数调用分配内存使用值当内存不再需要使用时释放垃圾回收引用引用计数垃圾收集限制循环引用实际例子标记-清除算法循环引用不再是问题了限制 那些无法从根对象查询到的对象都将被清除简介像C语言这样的高级语言一般都有低级的内存管理接口,比如 malloc()和free()。另一方面,Ja原创 2018-01-17 11:43:54 · 277 阅读 · 0 评论 -
算法知识补充
在这里我会介绍递归。还将学习动态规划、贪心算法,以及大O表示法。此外,我们还会介绍如何用算法娱乐身心,提升我们的知识水平,以达到增强编程和解决问题的能力的目的。1 递归递归是一种解决问题的方法,它解决问题的各个小部分,直到解决最初的大问题。通常涉及 函数调用自身。 能够像下面这样直接调用自身的方法或函数,是递归函数:function recursiveFunction(so原创 2018-01-25 11:11:32 · 650 阅读 · 0 评论 -
js/javascript代码注释规范与示例
注释在代码编写过程中的重要性,写代码超过半年的就能深深的体会到。没有注释的代码都不是好代码。为了别人学习,同时为了自己以后对代码进行‘升级’,看看js/javascript代码注释规范与示例。文件注释文件注释位于文件的最前面,应包括文件的以下信息:概要说明及版本(必须)项目地址(开源组件必须)版权声明(必须)开源协议(开源组件必须)版本号(必须)修改时间(必须),以ISO格式表示(可使用S原创 2018-01-18 16:36:51 · 303 阅读 · 0 评论 -
ECMAScript 6 教程
ECMAScript 6 目前基本成为业界标准,它的普及速度比 ES5 要快很多,主要原因是现代浏览器对 ES6 的支持相当迅速,尤其是 Chrome 和 Firefox 浏览器,已经支持 ES6 中绝大多数的特性。 1. let、const 和 block 作用域let 允许创建块级作用域,ES6 推荐在函数中使用 let 定义变量,而非 var:var a = 2;{ le原创 2018-01-19 12:20:20 · 331 阅读 · 0 评论 -
快速理解ES7 await/async
await/async 是 ES7 最重要特性之一,它是目前为止 JS 最佳的异步解决方案了。虽然没有在 ES2016 中录入,但很快就到来,目前已经在 ES-Next Stage 4 阶段。直接上例子,比如我们需要按顺序获取:产品数据=>用户数据=>评论数据老朋友 Ajax传统的写法,无需解释// 获取产品数据ajax('products.json', (products)转载 2018-02-06 17:56:25 · 335 阅读 · 0 评论 -
ES6-变量的解构赋值
数组的解构赋值Destructuring ES6允许按照一定模式,从数组和对象中提取值,对变量进行赋值,这被称为解构(Destructuring) 。var [p, q = "aaa"] = ["bbb", undefined]console.log(p, q) // bbb aaavar [temp = "string"] = ["tempString"]console.log(temp原创 2017-12-26 16:02:37 · 819 阅读 · 0 评论