[Js]面向对象基础
一、什么是对象
对象是一个整体,对对外提供一些操作
二、什么是面向对象
使用对象时,只关注对象提供的功能,不关注其内部细节,比如Jquery
三、Js中面向对象的特点
1.抽象:抓住核心问题
2.封装:不考虑内部实现,只考虑功能使用
3.继承:①多重继承(多个父级)②多态(父类和子类具有相同的操作,但这些操作之间又不是那么一样)
四、this
是什么?当前的方法属于谁
唯一一种会失效的情况?调用函数前面有new
this啥时候会出问题: 1.定时器(被定时器调的函数,this是window) 2.事件
解决方法:再套一层,调用_this(通过闭包传递this)
五、prototype
原型prototype作用:给一类元素(系统的一些对象,如数组、字符串)添加方法,扩展系统函数的功能
六、在js里,类就是构造函数
七、引用
所谓引用,即指向同一块内存区域的地址
var arr1=[1,2,3];
var arr2=arr1;
arr2.push(4);
alert(arr1);
alert(arr2);
输出结果都是1,2,3,4
arr1和arr2就像两把钥匙,[1,2,3]就像个房间,用钥匙2打开房间加个4进去,再用钥匙1打开进去,空间还是1,2,3,4
如果想不一样怎么办
var arr1=[1,2,3];
var arr2=[];
for( var i in arr1){
arr2[i]=arr1[i];
}
....
八、系统对象
1.本地对象(非静态对象)
需要new出来才能用的
常用对象:Object、Function、Array、String、Boolean、Number、Date、RegExp、Error
2.内置对象(静态对象)
Global(全局的,事实上只存在书本上,实际用不到)、Math
3.宿主对象(由浏览器提供的对象)
DOM、BOM
[Js]面向对象基础的更多相关文章
- JavaScript基础精华02(函数声明,arguments对象,匿名函数,JS面向对象基础)
函数声明 JavaScript中声明函数的方式:(无需声明返回值类型) function add(i1, i2) { return i1 + i2;//如果不写return返回 ...
- JS面向对象基础
以往写代码仅仅是为了实现特定的功能,后期维护或别人重用的时候,困难很大. Javascript作为完全面向对象的语言,要写出最优的代码,需要理解对象是如何工作的. 1. 对象是javasc ...
- 第十四节 JS面向对象基础
什么是面向对象:在不需要知道它内部结构和原理的情况下,能够有效的使用它,比如,电视.洗衣机等也可以被定义为对象 什么是对象:在Java中对象就是“类的实体化”,在JavaScript中基本相同:对象是 ...
- JS面向对象基础讲解(工厂模式、构造函数模式、原型模式、混合模式、动态原型模式)
什么是面向对象?面向对象是一种思想. 面向对象可以把程序中的关键模块都视为对象, 而模块拥有属性及方法. 这样如果我们把一些属性及方法封装起来,日后使用将非常方便,也可以避免繁琐重复的工作. 工厂 ...
- js面向对象基础总结
js中如何定义一个类? 定义的function就是一个构造方法也就是说是定义了一个类:用这个方法可以new新对象出来. function Person(name, age){ this.name = ...
- JS面向对象基础2
根据之前看了面向对象相关的视频,按照自己的理解,整理出相关的笔记,以便自己的深入理解. javascript面向对象: 突发奇想,注意:===全等:是指既比较值,也比较类型(题外话,可忽略) 逻辑运算 ...
- JS面向对象基础1
根据之前看了面向对象相关的视频,按照自己的理解,整理出相关的笔记,以便自己的深入理解. 如果要判断两个数是否相等,将值乘以10或者100,转换成整数再进行比较 例如:a++与++a 短路运算符 ...
- 从壹开始前后端分离 [ Vue2.0+.NET Core2.1] 十五 ║Vue基础:JS面向对象&字面量& this字
缘起 书接上文<从壹开始前后端分离 [ Vue2.0+.NET Core2.1] 十四 ║ VUE 计划书 & 我的前后端开发简史>,昨天咱们说到了以我的经历说明的web开发经历的 ...
- js面向对象开发基础
js的面向对象开发能力较弱,基本是以prototype为核心的面向对象,虽然现在出了个class这玩意,但本文还是先不做探讨. 面向对象基础——构造函数方法 var Fly = function (s ...
随机推荐
- SAP屠夫---折旧在13-16调整期间的烦恼(转)
"应尽量避免在13-16期的折旧行为",在去年新准则ERP调整时就强调过,实际上, 有的企业并不使用13-16期间, 假设某家企业将折旧折在13期, 非常可惜的是,sap的折旧费用 ...
- [转载] 一致性问题和Raft一致性算法
原文: http://daizuozhuo.github.io/consensus-algorithm/ raft 协议确实比 paxos 协议好懂太多了. 一致性问题 一致性算法是用来解决一致性问题 ...
- HDU5845 Best Division
递归写法,好久不写很容易就gg了... dp[i]=max(dp[j])+1,并且s[i]XORs[j]<=x 01字典树优化一下转移. #include <bits/stdc++.h& ...
- 线程高级应用-心得8-java5线程并发库中同步集合Collections工具类的应用及案例分析
1. HashSet与HashMap的联系与区别? 区别:前者是单列后者是双列,就是hashmap有键有值,hashset只有键: 联系:HashSet的底层就是HashMap,可以参考HashSe ...
- oracle的正则表达式
阅读目录 1.oracle(regular expression)简单介绍 2.oracle正则特殊字符 3.oracle正则字符簇 4.各种操作符的运算优先级 5.模拟测试例子 6.oracle对应 ...
- [js] 函数节流
原文链接:http://www.alloyteam.com/2012/11/javascript-throttle/
- 面向对象的static关键字(类中的static关键字)
转自:http://blog.csdn.net/xiayefanxing/article/details/7382192 http://www.cnblogs.com/SelaSelah/archiv ...
- shell远程执行命令
ssh主要参数说明 -l 指定登入用户 -p 设置端口号 -f 后台运行,并推荐加上 -n 参数 -n 将标准输入重定向到 /dev/null,防止读取标准输入 -N 不执行远程命令,只做端口转发 - ...
- Hbase之校验指定数据是否存在
import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.hbase.HBaseConfiguration; impo ...
- Mysql有两种存储引擎:InnoDB与Myisam
http://www.cnblogs.com/kevingrace/p/5685355.html