当前位置: 首页 > news >正文

烟台网站排名优化报价有什么软件可以做网站

烟台网站排名优化报价,有什么软件可以做网站,有了域名和空间怎么建网站,知名企业文化案例一. 普通对象与函数对象 JavaScript 中#xff0c;万物皆对象#xff01;但对象也是有区别的。分为普通对象和函数对象#xff0c;Object 、Function等 是 JS 自带的函数对象。下面举例说明。 var o1 {}; var o2 new Object(); var o3 new f1();function f1(){}; var f2… 一. 普通对象与函数对象 JavaScript 中万物皆对象但对象也是有区别的。分为普通对象和函数对象Object 、Function等 是 JS 自带的函数对象。下面举例说明。 var o1 {}; var o2 new Object(); var o3 new f1();function f1(){}; var f2 function(){}; var f3 new Function(str,console.log(str));console.log(typeof Object); //function console.log(typeof Function); //function console.log(typeof f1); //function console.log(typeof f2); //function console.log(typeof f3); //function console.log(typeof o1); //object console.log(typeof o2); //object console.log(typeof o3); //object 在上面的例子中 o1 o2 o3 为普通对象f1 f2 f3 为函数对象。怎么区分其实很简单凡是通过 new Function() 创建的对象都是函数对象Function其他的都是普通对象Object。f1,f2,归根结底都是通过 new Function()的方式进行创建的。Function Object也都是通过 New Function()创建的。 二. 原型对象 function Person(){} Person.prototype.name test; Person.prototype.age 28; Person.prototype.job Software Engineer; Person.prototype.sayName function() {alert(this.name); }var person new Person(); 在 JavaScript 中每当定义一个对象函数也是对象时候对象中都会包含一些预定义的属性。其中每个函数对象都有一个prototype属性这个属性指向函数的原型对象。而原型对象他本身就是一个普通对象没有通过 new Function() 创建的对象都是普通对象即原型对象就是Person.prototype如果你还是害怕它那就把它想想成一个字母 Avar A Person.prototype。这里要强调一点只有函数对象才会拥有prototype属性但是每个对象都拥有__proto__属性null除外。 在上面我们给A添加了四个属性name、age、job、sayName。其实它还有一个默认的属性constructor。在默认情况下所有的原型对象都会自动获得一个 constructor构造函数属性这个属性是一个指针指向 prototype属性所在的函数Person。即Person.prototype.constructor Person。当我们创建对象var person new Person()时person可以继承原型对象Person.prototype的constructor属性因此person.constructor Person注意person这个实例本身是没有constructor实例的constructor是通过原型链__proto__获取原型对象上边的constructor。 person.constructor Person Person.prototype.constructor Person 从这一角度我们可以将Person.prototype理解为Person的一个实例。但其实原型对象Person.prototype并不是构造函数Person的实例而是构造函数的属性而且是预定义添加的。 var A new Person(); Person.prototype A; 但是有一个非常特别的原型对象Function.prototype它并不是普通对象而是函数对象而这个函数对象却没有prototype属性前面所说的“每个函数对象都有一个prototype属性这个属性指向函数的原型对象”对Function.prototype并不适用。 function Person(){}; console.log(typeof Person.prototype) //Object console.log(typeof Function.prototype) // Function这个特殊 console.log(typeof Object.prototype) // Object console.log(typeof Function.prototype.prototype) //undefined Function.prototype为什么是函数对象呢 var A new Function();Function.prototype A; 上文提到过凡是通过凡是通过 new Function() 创建的对象都是函数对象其他的都是普通对象。因为 A 是函数对象所以Function.prototype是函数对象。 三. __proto__ JS 在创建对象不论是普通对象还是函数对象的时候都有一个叫做__proto__的内置属性用于指向创建它的构造函数的原型对象。对象 person有一个__proto__属性创建它的构造函数是Person构造函数的原型对象是Person.prototype 所以person.__proto__ Person.prototype Person.prototype.constructor Person; person.__proto__ Person.prototype; person.constructor Person; 类似的Person.__proto__ Function.prototypePerson.prototype.__proto__ Object.prototypeObject.__proto__ Function.prototype Object.prototype.__proto__ null按照上述理解 Object.prototype是普通对象而普通对象的构造函数是Object那么Object.prototype.__proto__  Object.prototype从而在原型链上形成死循环无法终止因此定义Object.prototype.__proto__ nullnull是原型链的顶端。 不过要明确的真正重要的一点就是这个连接存在于实例person与构造函数Person的原型对象Person.prototype之间而不是存在于实例person与构造函数Person之间。 var animal function(){}; var dog function(){};animal.price 2000; dog.prototype animal; var tidy new dog(); console.log(dog.price) //undefined console.log(tidy.price) // 2000 实例tidy和 原型对象dog.prototype存在一个连接。这个连接存在于实例tidy与构造函数的原型对象dog.prototype之间而不是存在于实例tidy与构造函数dog之间。 四. 函数对象 所有函数对象的__proto__都是指向Function.prototype它是一个空函数。 Number.__proto__ Function.prototype // true Number.constructor Function //trueBoolean.__proto__ Function.prototype // true Boolean.constructor Function //trueString.__proto__ Function.prototype // true String.constructor Function //true// 所有的构造器都来自于Function.prototype甚至包括根构造器Object及Function自身 Object.__proto__ Function.prototype // true Object.constructor Function // true// 所有的构造器都来自于Function.prototype甚至包括根构造器Object及Function自身 Function.__proto__ Function.prototype // true Function.constructor Function //trueArray.__proto__ Function.prototype // true Array.constructor Function //trueRegExp.__proto__ Function.prototype // true RegExp.constructor Function //trueError.__proto__ Function.prototype // true Error.constructor Function //trueDate.__proto__ Function.prototype // true Date.constructor Function //true 所有的构造器都来自于Function.prototype甚至包括根构造器Object及Function自身。所有构造器都继承了Function.prototype的属性及方法。Function.__proto__  Function.prototype而前面说过Function.prototype它不是普通对象而是函数对象那么Function.prototype.__proto__ ?按照上述Function.prototype.__proto__  Function.prototype但又出现了原型链上的死循环JS一直强调万物皆对象函数对象也是对象给他认个祖宗指向 Object.prototypeObject.prototype.__proto__ null保证原型链能够正常结束。 特别的MathJSON是以普通对象形式存在的。 Math.__proto__ Object.prototype // true Math.construrctor Object // trueJSON.__proto__ Object.prototype // true JSON.construrctor Object //true 四. 总结 原型和原型链是JS实现继承的一种模型。 原型链的形成是真正是靠__proto__而非prototype。 参考资料https://www.jianshu.com/p/dee9f8b14771 转载于:https://www.cnblogs.com/RainyBear/p/8612560.html
http://www.huolong8.cn/news/333717/

相关文章:

  • 怎么在百度上发布广告深圳seo网络优化公司
  • wap网站开发 php360免费wifi怎么使用
  • 白云区网站建设公wordpress区块链主题
  • 南昌网站制作方案定制wordpress 跟换主题
  • 政务门户网站建设规范wordpress付费商业站
  • 广州网站设计服务优化公司治理结构
  • php网站开发经理招聘优化加速
  • 如何建立一个网站平台网站苏州企业名称大全
  • 网站文章正文可以做内链吗做网站就上凡科建设
  • 厚街网站建设公司怎么给网站做友情链接
  • 生鲜网站建设软件开发app制作公司排名
  • 购物导购网站开发微信导航网站模板
  • 炫酷企业网站北京网站优化价格
  • 校园图书回收网站建设旅行社做网站
  • 海南专业网站开发公司新企业建网站
  • 免费设计模板网站华为域名购买
  • 深圳市文刀网站建设怎样建设网站首页
  • 网站建设 技术支持 阿里公司网站开发费用如何做账
  • 建设行业个人云网站在线之家
  • 坤思特重庆网站建设熊掌号企业标准查询网官网
  • 企业网站的网址有哪些网店怎么开要多少钱
  • 海口网站排名推广php网站开发背景
  • vs网站开发效果图公司组织机构框架图
  • 电商旅游网站策划书wordpress刷关键
  • 黑河北京网站建设网页动画制作软件
  • 做平面设计的一般浏览什么网站网推资源渠道
  • 郑州做网站的专业公司小程序代理招商公司
  • seo研究中心好客站幻灯片网站源码
  • 国内公司名字可以做国外网站网站彩票做号
  • 怎么制作手机app及网站wordpress不能将请求写入临时文件.