一.闭包 1 . 概念:闭包就是能够读取其他函数内部变量的函数.在JS中,只有函数内部的子函数才能读取局部变量,因此可以把闭包简单理解为”定义在一个函数内部的函数”. 2 . 闭包的特点 1)可以读取函数内部的变量. 2)让这些变量的值始终保存在内存中. 3 . 闭包的原理 理解闭包,首先必须理解JS变量的作用域.变量的作用域无非就是两种(es5):全局变量和局部变量. JS语言的特殊之处,就在于函数内部可以直接读取全局变量.另一方面,函数外部自然无法读取函数内的局部变量. 注意: 1)函数内部…
(注:本章讲解涉及部分后端知识,将以php提供数据的方式进行相应的demo实现) 1:ajax的概念 全称:Asynchronous Javascript And Xml AJAX不是一种新的编程语言,而是一种用于创建更快更好以及交互性更强的WEB应用程序技术,该技术在98年前后得到了应用.通过AJAX,你的JS可以通过JS的XMLHttpRequest对象在页面不重载的情况下与服务器直接进行通信.这样可以在服务器请求到想要的数据,而不是整个页面.AJAX的核心就是JS的XMLHttpReque…
一.构造函数的使用 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>面向对象编程</title> </head> <body> <script> /*构造函数(构造函数命名一般此采用大驼峰式命名即驼峰式命名首字母大写)*/ // 构造函数中的this指向的是即将生成的对…
1:定义:javascript是一种弱类型.动态类型.解释型的脚本语言. 弱类型:类型检查不严格,偏向于容忍隐式类型转换. 强类型:类型检查严格,偏向于不容忍隐式类型转换. 动态类型:运行的时候执行类型检查. 静态类型:编译的时候就知道每个变量的类型. 解释型:程序不需要编译,程序在运行的时候才翻译成机器语言,每执行一次都要翻译一次,因此效率比较低,但是跨平台性好. 编译型:程序在执行之前需要一个专门的翻译过程,把程序编译为机器语言的文件,运行时直接使用编译的结果就行了. 标记语言:标记语言的存…
ECMAScript 6.0(简称ES6)是JavaScript语言的下一代标准,已经在2015年6月正式发布了.它的目标,是使得JavaScript语言可以用来编写复杂的大型应用程序,成为企业级开发语言.各大浏览器的最新版本,随着时间的推移,支持度已经越来越高了,ES6的大部分特性都实现了.那么也就意味着低版本浏览器是不支持ES6的. 1:let/const 声明变量关键字 1)let关键字特点 let声明的变量只在所在的块级作用域内有效(块级作用域特点:不受外部环境影响和内部代码块影响) j…
Math对象的介绍 1:Math对象 Math 对象用于执行数学任务.并不像 Date 和 String 那样是对象的类,因此没有构造函数 Math().您无需创建它,通过把 Math 作为对象使用就可以调用其所有属性和方法. 2:Math属性 PI:返回圆周率(约等于3.14159). 3:Math方法 Math.round(3.6);   // 四舍五入. Math.random();     // 返回大于等于0到小于1之间的随机数. // 随机数如何设定范围 // 0 - 100(包含)…
1:字符串 JS中的任何数据类型都可以当作对象来看.所以string既是基本数据类型,又是对象. 2:声明字符串 基本数据类型:var sStr = '字符串'; 对象的方法:var oStr = new String('字符串'); //统计每个字符出现的次数,结果显示 a 2.b 1.c 2.d1,去掉重复的字符,使结果显示 abcdfgj. //var定义的变量赋值字符串以对象[]的方式访问单个字符IE8以上支持 var str="abcdafgcj"; var arr={};…
1:ES5简介 ECMAScript 5.1 (或仅 ES5) 是ECMAScript(基于JavaScript的规范)标准的修正. 与HTML5规范进程本质类似,ES5通过对现有JavaScript方法添加语句和原生ECMAScript对象做合并实现标准化. 2:严格模式的意义 相对于正常模式而言: 1:消除Javascript语法的一些不合理.不严谨之处,减少一些怪异行为. 2:消除代码运行的一些不安全之处,保证代码运行的安全. 3:提高编译器效率,增加运行速度. 4:为未来新版本的Java…
未完待续...... 一.运动原理 通过连续不断的改变物体的位置,而发生移动变化. 使用setInterval实现. 匀速运动:速度值一直保持不变. 多物体同时运动:将定时器绑设置为对象的一个属性. 注:物体每次运动都应该把之前的定时器清除掉. 二.边界处理 遇到边界是应该停止掉还是反弹,方向相反. 改变物体运动方向:将物体的速度值取反. 三.加速减速 加速:速度越来越快. 减速:速度越来越慢. 四.抛物线 水平方向有一速度,垂直方向有一速度,并做自由落体. 五.透明度的变换 难点:处理低版本I…
JavaScript中this的四种情况(非严格模式) 1.当this所在函数是事件处理函数时,this指向事件源.2.当this所在函数是构造函数时,this指向new出来的对象.3.this所在函数的所属对象是谁,this指向函数所属对象.4.当this所在函数没有所属对象,this指向window对象 <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title&g…