深度剖析---JavaScript对象---原型,原型链。

JavaScript 引用数据类型:

  对象  字面量------  {}  。

---------------------------------------------------------------------------------------------------------------------------------------------------------------

在JavaScript当中所有的变量都可以当作对象使用。(当作对象使用,意味着拥有属性和方法)---------》万物皆对象。

但是除两个例外  null  和  undefined 。

例如:

[1,2,3].toString()   -------》   "1,2,3"

function Swt(){ };

Swt.name = "博客园";

Swt.name ----》  "博客园"

但是特殊的数据类型:Number的字面量

官方给出解释 Number字面量不能当作对象使用是因为JavsScript的解析器的一个错误。因为它会将点操作符解析成数字字面量的一部分。

但是  123..toString()    -----或者 -----  123 .toString()  ------再或者------ (123).toString()  --------------》都会正常解析。

---------------------------------------------------------------------------------------------------------------------------------------------------------------

对象作为JavaScript语言的一种引用数据类型。

  他的作用超乎你的想象。

  对象可以作为----哈希表----使用!!!   -------因为数据格式的特殊。

  对象特点保存  键于值得对象关系。

首先对象的创建方式之一:

  字面量创建对象    var obj = {};  字面量创建对象将会从Object.prototype继承下面,没有任何的自定义属性。

例如:

  var swtObj = {

    name:"博客园",

    age:"永远" + 18,

    changHandle:function(){

    }

  };

访问对象属性的方式:(点操作符或者中括号操作符)

  1、点操作符

    swtObj.name; ---------》  "博客园"

    swtObj['name'; ----------》  "博客园"

    -----------------------------------------------------------------

    var offer = "程序员";

    swtObj[offer];  ----------》 "程序员"

    -----------------------------------------------------------------

    swtObj.123; -----------》 报错  --- 属性名,键(key)不能为number类型

    swtObj['123'];  -----------》 正常解析。

两者访问对象属性都可以,但是中括号操作符功能更强一些:比如动态设置属性,属性名有效性(空格,js关键字)

删除属性的方式:

  真正意义上的删除也是唯一的删除方法是使用 delete 操作符。

  注意 将对象属性设置为 undefined 或者 null 并不是真正意思上的从对象上删除属性,而仅仅是断开属性和值的关联。

-------------------------------------------------------------------------------------------------------------------------------------------------------------------

对象原型:

  这里需要注意的是:

  JavaScript中对象的原型和原型链  与  ES6中 class类的原型和原型链的区别!!!

  JavaScript中对象使用的是  -----       prototype   -----  原型模型。

  官方给我出解释: 

  虽然这经常被当作是 JavaScript 的缺点被提及,其实基于原型的继承模型比传统的类继承还要强大。 实现传统的类继承模型是很简单,但是实现 JavaScript 中的原型继承则要困难的多。

  

补充:

  JavaScript为何难:

  原因之一是     JavaScript 是唯一一个被广泛使用的基于原型继承的语言。

-------------------------------------------------------------------------------------------------------------------------------

不同之处:

  1、 JavaScript 使用原型链的继承方式。

猜你喜欢

转载自www.cnblogs.com/swt-axios/p/12743390.html