面向对象编程 面向对象编程是用抽象方式创建基于现实世界模型的一种编程模式.它使用先前建立的范例,包括模块化,多态和封装几种技术.今天,许多流行的编程语言(如Java,JavaScript,C#,C+ +,Python,PHP,Ruby和Objective-C)都支持面向对象编程(OOP). 相对于 “一个程序只是一些函数的集合,或简单的计算机指令列表.”的传统软件设计观念而言,面向对象编程可以看作是使用一系列对象相互协作的软件设计. 在 OOP 中,每个对象能够接收消息,处理数据和发送消息给其他…
作用域 栈内存:js执行的环境堆内存:存放代码块的空间 存放方式 键值对形式存放 字符串的形式存放js在执行之前 浏览器会给他一个全局作用域叫window 每个作用域下都分为两个模块 一个是内存模块一个是执行模块内存模块会给所有的变量一个内存地址 变量的声明在js中靠关键字 var 和 function 1.什么时候会有作用域的形成: ①浏览器天生有一个全局叫window ②函数执行的时候会形成一个私有的 js在执行之前 浏览器会给他一个全局作用域 叫window 在window下分两个模块 一…
一.对象克隆 var obj = { name:'li', age:23 } var obj2 = obj; // 这不是对象克隆 只是把obj的内存地址给obj2 1.for in克隆(浅拷贝)  浅拷贝 --> 主要针对第一层的属性进行拷贝 通过for in克隆 不管是私有的还是公有的 都克隆成私有的 2.for in克隆(深拷贝)  深拷贝 --> 将属性值也一个一个的遍历赋值 针对所有的属性进行拷贝不管套了几层  如果对象中的属性值又是一个引用数据类型 浅拷贝 还是把后面的引用数据类型…
一.生成对象的方式 ①单例模式(字面量定义)var obj = {} ②类的实例 var obj = new Object( ) ③工厂模式 ④构造函数:扮演三种角色 普通函数 普通对象 类 工厂模式 构造函数 构造函数如果人为return的不是对象 直接忽略 如果人为return的是对象 就取代this <-- ! ! ! ! ! ! ! ! ! 二.工厂模式和构造函数的区别1. 工厂模式 生成的对象必须要返回 构造函数模式不用return 构造函数模式默认return的是this 在构造函数…
面向对象 Js一开始就是写网页特效,面向过程的,作者发现这样写不好,代码重复利用率太高,计算机内存消耗太大,网页性能很差. 所以作者就收到java和c的影响,往面向对象靠齐.Js天生有一个Object,但他没有面向对象的特征(封装,继承,多态). 最后研究出了构造函数. 构造函数最终目的是生成对象 我们把封装的那个函数叫 类类里面的属性是私有的类原型上的属性是公有的 可以继承1)首先类身上天生自带一个prototype的属性 属性值是对象2)prototype 对象天生有一个constructo…
一.复习 面向对象 1)单例模式 2)工厂模式 3)构造函数 ①类js天生自带的类 基类object function array number math boolean date regexp string 二.事件    浏览器客户端上客户触发的行为都称为事件 所有的事件都是天生自带的 不需要人为绑定 只需要我们去触发通过obj.事件名=function(){} 我们给元素的事件绑定了一个方法 事件名:onmouseover onmouseout onmousedown onmousemov…
数据类型与全局属性 js的本质就是处理数据 数据来自于后台的数据库所以变量就起到一个临时存储数据的这作用ECMAscirpt 制定了js的数据类型 一.数据类型 1.基本数据类型 基本数据类型就是简单的赋值 Var s=”hello”; var s=12; var s=true; var s=null; var s=undefined; 1)基本数据类型就是简单的赋值 字符串 string数字 number布尔 booleannull 空undefined 未定义 2)对象 object arr…
JS开篇 一.js介绍 全称 javascript 但不是java 他是一门前台语言 而java是后台语言js作者 布兰登·艾奇 前台语言:运行在客户端的后台语言:跟数据库有关的 能干什么?    页面特效 开发网页游戏 后台开发等等 二.js和ECMAscript的关系 es不是语言 是js的标准 我们学习js得按es的标准学习 三.前端的三个层次 HTML  结构层 CSS  表现层 JS  行为层 四.js写在哪里 因为js和pho都是脚本语言 js写在script这个标签里 php写在<…
闭包是js中的一大特色,也是一大难点.简单来说,所谓闭包就是说,一个函数能够访问其函数外部作用域中的变量. 闭包的三大特点为: 1.函数嵌套函数 2.内部函数可以访问外部函数的变量 3.参数和变量不会被回收. 闭包散知识点: 一.变量销毁 1.人为销毁:var a = 12; a = null; 2.自然销毁:函数调用完成之后浏览器会自动销毁函数内的变量 二.闭包的种类 1.函数式 2.对象式 举例来说 function test(){ var a = 123; return function…
js中的异步 Javascript语言的执行环境是"单线程"(single thread,就是指一次只能完成一件任务.如果有多个任务,就必须排队,前面一个任务完成,再执行后面一个任务,以此类推). 这种模式的好处是实现起来比较简单,执行环境相对单纯:坏处是只要有一个任务耗时很长,后面的任务都必须排队等着,会拖延整个程序的执行.常见的浏览器无响应(假死), 往往就是因为某一段Javascript代码长时间运行(比如死循环),导致整个页面卡在这个地方,其他任务无法执行.为了解决这个问题,…