JavaScript 高级函数

高级函数是指满足下列条件之一的函数。函数可以作为参数传递函数可以作为返回值输出函数作为参数传递把函数作为参数传递,这代表我们可以抽离出一部分容易变化的业务逻辑。这样一来就可以分离业务代码中变化与不变的部分。其中一个重要的应用场景就是常见的回调函数。回调函数:在ajax异步请求应用中,回调函数的使用非常频繁。例如vargetUserInfo=function(userId,callback){var......

JavaScript 闭包和面向对象设计

过程与数据的结合是形容面向对象中的“对象”时经常使用的表达。对象以方法是形式包含了过程,而闭包则是过程中以环境的形式包含了数据。通常用面向对象思想能实现的功能,用闭包也能实现。下面来看看和闭包相关的代码:varextent=function(){varvalue=0;return{call:function(){value++;console.log(value);}}};varextent=ex......

JavaScript 闭包的作用

在实际开发中闭包的运用非常广泛。封装变量:闭包可以帮助一些不必要暴露在全局的变量封装成“私有变量”。假设有一个设计计算乘积的简单函数:varmult=function(){vara=1;//私有变量for(vari=0;i<arguments.length;i++){a=a*arguments[i];}returna;}console.log(mult(1,2,3));//6mult接受一些......

JavaScript 闭包

今天来聊聊闭包,闭包对JavaScript程序员来说是一个难懂又必须征服的概念。闭包的形成与变量的作用域以及变量的生命周期密切相关。下面我们先了解这里个知识点。变量的作用域:变量的作用域,就是指变量的有效范围。在声明一个变量时,如果改变量前面没有添加关键字var,那么这个变量就会成为一个全局变量。如果在函数内部使用var关键字声明一个变量,那么这个变量就成为一个局部变量。只有在该函数内部才能访问这......

JavaScript 简单理解call和apply

call和apply可以用来重新定义函数的执行环境,也就是this的指向。通过一个操作DOM的例子来理解。functionchangeStyle(attr,value){this.style[attr]=value;}varbox=document.getElementById('box');window.changeStyle.call(box,"height","200px");call中的第......

JavaScript constructor 属性

定义和用法constructor属性返回对创建此对象的数组函数的引用。语法object.constructorconstructor,构造函数,对这个名字,我们都不陌生,constructor始终指向创建当前对象的构造函数。这里有一点需要注意的是,每个函数都有一个prototype属性,这个prototype的constructor指向这个函数,这个时候我们修改这个函数的prototype时,就发......

JavaScript 多态

多态的含义:同一操作作用不同的对象上面,可以产生不同的解释和不同的结果。例:假设我们要写一个地图应用,现在可能有两家供应商提供我们接入自己的应用(百度,谷歌).两家供应商的api中提供show方法,负责展示地图。代码如下:vargoogleMap={show:function(){console.log('开始渲染谷歌地图')}}varbaiduMap={show:function(){conso......

js 实现 网页加载进度条

要实现网页加载进度条,方法有很多。网上有些方法使用的是定时器,这种方法是个误区不推荐使用。这里简单介绍下通过加载状态时间制作进度条知识点document.onreadystatechange页面加载状态改变时的事件document.readyState返回当前文档状态readyState存在几种状态:1.uninitialized//还未开始载入2.loading//载入中3.interactiv......

JavaScript中typeof和instanceof用法区别

typeof和instanceof的区别typeof和instanceof都可以用来判断变量,它们的用法有很大区别:typeof会返回一个变量的基本类型,只有以下几种:number,boolean,string,object,undefined,function;例:alert(typeof(1));//numberalert(typeof("abc"));//stringalert(typeof......

mysql 允许用户远程访问

阿里云服务器搭建mysql环境需注意:mysql所占端口是否对外开放。控制台->云服务器ECS->实例->管理->本实例安全组->配置规则本地登入mysql,更改"mysql"数据库里的"user"表里的"host"项,将"localhost"改为"%"#mysql-uroot-prootmysql>usemysql;mysql>updateuserset......