再和“面向对象”谈恋爱-对象简介(一)-创新互联
JavaScript中的面向对象是个老生常谈的话题,但是依然有很多小伙伴处于懵逼的状态。面试时候最担心的就是被问到面向对象相关的内容,自己看过无数的资料,依然对面向对象百思不得其解。到底什么是原型?什么是构造函数?什么是继承。。。一提到这些概念那真是欲哭无泪、悲愤交加,甚至恨的直咬牙!所以有必要重新再谈一次面向对象。同时我也希望通过这几篇文章让你对面向对象由恨生爱,再到爱恨交加,最后爱得死去活来!
创新互联成立与2013年,是专业互联网技术服务公司,拥有项目网站制作、成都网站制作网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元大安做网站,已为上家服务,为大安各地企业和个人服务,联系电话:18982081108
对象
各位老铁们应该听过一个词叫“一切皆对象”
,而“面向对象”
中也带了一个“对象”
,可见“对象”
这个词非常重要。所以弄清楚 “对象”
是什么尤为重要。
对象在生活中指的是女朋友或者男朋友,而在JavaScript里说的通俗一点就是一个放了很多属性与方法的集合,有很多的属性与方法是一个对象最显著的特点(可以粗暴的认为,但凡有属性与方法的就是个对象)。JavaScript里除了运算符、语句、表达式(这些都是基本语法,任何一门语言都得有基本的语法)以外,其它的都是对象或者说是某个对象身上的一部分,所以说js里一切皆对象是有讲究的。换句话说,我们在写js的时候,其实都是用一些基本语法去操作对象
1、字符串
'kaivon'.length; //6 属性
'kaivon'.substring(2); //ivon 方法
2、数字
(12.25).toFixed(1); //12.3 方法
3、布尔值
true.toString(); //true 方法
4、函数
const fn=function(){};
fn.name; //fn 属性
fn.call(window); //方法
数组与对象想必就更不用解释了
对象分类
在JavaScript中我把对象分为三类,全局对象、内置对象、自定义对象
1、全局对象
- 它是JavaScript预定义的对象,作为JavaScript的全局函数和全局属性的占位符
它是顶层对象,由宿主环境决定类型
1、网页里为windowthis===window; //true
2、node里为Global
- 它身上的属性或方法可以直接使用,不用指定所属对象
parseInt('12a'); //12
window.parseInt('12a); //12
String(12); //12
window.String(12); //12
- 它有构造函数但无法实例化
window.constructor===Window; //true
window instanceof Window; //true
new Window(); //报错
2、内置对象
- ECMAScript自己定义的对象,每个对象都有一个自己对应的构造函数
Object.prototype.constructor===Object; //true Array.prototype.constructor===Array; //true Function.prototype.constructor==Function; //true
- 每个内置对象都是全局对象的一个属性(内置对象都是全局对象的儿子)
window.Object===Object; //true window.Array===Array; //true window.Function==Function; //true
- 内置对象分类
Object、Number、String、Boolean、Array、Math、Date、JSON、RegExp、Function...
所有内置对象请移步https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects
- 内置对象之间也有继承关系,所有内置对象中Object是绝对的大哥,其它对象都会继承它原型里的属性与方法
Number.prototype.__proto__===Object.prototype; //true
String.prototype.__proto__===Object.prototype; //true
Boolean.prototype.__proto__===Object.prototype; //true
Array.prototype.__proto__===Object.prototype; //true
Function.prototype.__proto__===Object.prototype;//true
可能有些小伙伴在这里会不理解,没关系。这里想让你知道的是内置对象反正能跟Object扯上关系,后面的文章会详细去说,我们要放长线掉大鱼。
3、自定义对象
面向对象的内容,后面文章详细说
这篇文章主要介绍对象的概念,下篇文章详细介绍面向对象里的相关概念
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
当前文章:再和“面向对象”谈恋爱-对象简介(一)-创新互联
标题链接:http://myzitong.com/article/hcesh.html