再和“面向对象”谈恋爱 - 对象简介(一)
JavaScript中的面向对象是个老生常谈的话题,但是依然有很多小伙伴处于懵逼的状态。面试时候最担心的就是被问到面向对象相关的内容,自己看过无数的资料,依然对面向对象百思不得其解。到底什么是原型?什么是构造函数?什么是继承。。。一提到这些概念那真是欲哭无泪、悲愤交加,甚至恨的直咬牙!所以有必要重新再谈一次面向对象。同时我也希望通过这几篇文章让你对面向对象由恨生爱,再到爱恨交加,最后爱得死去活来!
对象
各位老铁们应该听过一个词叫“一切皆对象”
,而“面向对象”
中也带了一个“对象”
,可见“对象”
这个词非常重要。所以弄清楚 “对象”
是什么尤为重要。
对象在生活中指的是女朋友或者男朋友,而在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、自定义对象
面向对象的内容,后面文章详细说
这篇文章主要介绍对象的概念,下篇文章详细介绍面向对象里的相关概念
转载于:https://blog.51cto.com/13258913/2133666
再和“面向对象”谈恋爱 - 对象简介(一)相关推荐
- 十二星座匹配对象_十二星座爱情配对,看着合适各自谈恋爱的星座
原标题:十二星座爱情配对,看着合适各自谈恋爱的星座 ♚双子座爱情配对 双子座不喜欢单独的生活,所以水瓶座能给家庭带来新鲜的变化,这是最理想的对象,水瓶座的人能带给你年轻及活力.还有聪明活泼,温柔可爱的 ...
- 面对对象 谈恋爱五大原则浅析!
面向对象编程其实无时无刻不在向我们阐释婚恋观 面向对象编程5大原则,想来跟处对象是一样一样的: 单一职责原则(SRP): 做一个单纯的人,才会有简单<稳稳的幸福-陈奕迅>: 一个类应该仅有 ...
- 我在互联网大厂,和同事谈恋爱
作者 | 陈杨园 来源 | 豹变(ID:baobiannews) 工作节奏快,交友渠道闭塞,让互联网在一些调研报告中成为单身比例最高的行业.单身,仿佛已成为互联网大厂年轻人的常态了.一些苦单身已久的大 ...
- 12星座谈恋爱:说分手,很容易
12星座谈恋爱:说分手,很容易 有些星座的人常常把「分手」挂在嘴巴上,有时是一种恐吓.有时是一种逃避,也有些人只是当成口头禅,但也有许多人是认真的.只是不管如何,总是把分手挂在嘴上,其实也不见得会是一 ...
- 69的人因为穷不谈恋爱,这届年轻人脱单太难了
关于恋爱这个问题,曾经有一句很流行的话:"是酒不好喝,还是手机不好玩?非要谈恋爱?"这句话的意思不是说喝酒玩游戏这两件事多有意义,而是说比起谈恋爱,有更多有意思的事情可以做.那么到 ...
- 【北京】No317| 在京在读研究生,可静可动,乐观,脾气好,很佛系的女孩,喜欢运动,旅游,读书,小吃货一枚,谈恋爱比较粘人...
大家好,我是狐妖小红娘~苏苏. 程序员脱单俱乐部,旨在解决广大单身青年的单身问题. 不要被这个名字所迷惑,程序员和非程序员都可以来投稿. 欢迎单身的程序员的朋友来投稿,也欢迎非程序员的朋友来投稿~ P ...
- 工具“正确”打开方式——如何用notion来谈恋爱
老天爷,谁也想不到我的notion打开方式居然会是如此.之前一看全英文界面,还要慢吞吞的网速,直接就被我否决了. 结果,真香. 今天简单说一说如何用notion来谈恋爱 昨天又吵架了,想着如此内耗也不 ...
- 泡妞技术帖:一物降一物 金庸爷爷教你如何谈恋爱
就金庸大侠的小说来讲,对于女性人物塑造是武侠小说里面最成功的(没有之一),甚至许多言情小说都比不上(比如琼瑶奶奶),不管是适用面还是真实性上来讲,基本可以涵盖你日常生活能接触到的人了.so,下面开讲. ...
- 千万要找一个程序员谈恋爱!
提到程序员,很多人都会有一个刻板印象:呆板.木讷.不懂浪漫. 甚至女生都会觉得,恋爱千万不要找一个程序员,不然所有对恋爱的美好憧憬都会消失. 你印象里的程序员是穿着格子衬衫,戴着黑框眼镜,只会敲击键盘 ...
最新文章
- Head First设计模式之目录
- R语言使用igraph包进行网络(network)可视化实战:将变量映射到网络节点(vertex)、将变量映射到网络的边(edge)
- EOS 消息设计(3)并行处理之状态评估
- 最小的linux内核编译,Linux最小内核移植
- Oracle RAC安装过程中所使用的一些配置
- .attr()与.removeAttr()
- Linux下使Shell命令脱离终端运行
- Linux (Ubuntu/deepin等)终端命令安装Lamp
- 有没有一段代码,让你觉得人类的智慧也可以璀璨无比?【转】
- 【转】[WSL2]WSL2迁移虚拟磁盘文件ext4.vhdx
- 运行Qt程序的一些注意事项
- 如何去掉DataTable中的重复行(新增.net 2.0中最新解决方法---简便)
- nyoj_49_开心的小明_201403161133
- Android studio 下载SDK
- python numpy计算任意底数的对数 log
- web前端emoji表情
- HBuilder 开发工具
- 昨晚 win7 盗版 黑屏了
- 域用户账户与计算机账户的区别,域用户账户与本地用户账户的异同是什么?
- 提取Excel中文字链接地址