重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
网络上很多关于JS原型的理解,写了很多,我也看了很多,但总是云里雾里,很多文章一上来就说Object是一切对象的根对象,这句话非常误导人的思维,后来自己在控制台,自己分析出来了比较好理解的方式,下面我来详细屡屡关于js原型的正确理解方式。
创新互联主要从事成都做网站、成都网站设计、网页设计、企业做网站、公司建网站等业务。立足成都服务双湖,十年网站建设经验,价格优惠、服务专业,欢迎来电咨询建站服务:18982081108
主要是理解js中的对象,函数,函数对象,函数实例
首先我们来聊聊这四个概念
对象
对象是什么呢,对象就是使用json格式表示的代码块,用这种方式表示js中的对象如下:
{ "name":"runoob", "alexa":, "site":null }
JSON对象使用在大括号{...}中书写。
对象可以包含多个key/value(键/值)对。
key必须是字符串,value可以是合法的 JSON数据类型(字符串,数字,对象,数组,布尔值或 null)。
key和 value中使用冒号:分割。
每个 key/value对使用逗号,分割。
函数
函数就是function关键字定义的一段代码块,就是自己定义的看得到的那一块代码,称之为函数,js中内置了一些基础函数比如(Object,Date等等),其实质就是带有构造器constructor的对象,js中可以将一个带有构造器constructor的对象表示为为函数,函数是json对象的变体表现形式
(注意:永远不要忘记js中的对象就是json格式的代码块,函数是这个json格式对象的变体)
如下为Object函数的原型Object.prototype,也是一个json键值对对象:
{ {constructor: ƒ, __defineGetter__: ƒ, __defineSetter__: ƒ, hasOwnProperty: ƒ, __lookupGetter__: ƒ, …} constructor: ƒ Object() hasOwnProperty: ƒ hasOwnProperty() isPrototypeOf: ƒ isPrototypeOf() propertyIsEnumerable: ƒ propertyIsEnumerable() toLocaleString: ƒ toLocaleString() toString: ƒ toString() valueOf: ƒ valueOf() __defineGetter__: ƒ __defineGetter__() __defineSetter__: ƒ __defineSetter__() __lookupGetter__: ƒ __lookupGetter__() __lookupSetter__: ƒ __lookupSetter__() __proto__:null get __proto__: ƒ __proto__() set __proto__: ƒ __proto__() }