JavaScript(第四节)

153 阅读2分钟

JS对象的分类

例:求下面正方形的面积

let qquare = {
   width = 5,
getArea(){
    return this.width*this.width
}
getLength(){
    return this.width*4
}
}

这里运用到this,后面我们对它进行单独讨论。

new操作符

new x()自动做了四件事

  • 自动创建空对象
  • 自动为空对象关联原型,原型地址指定为x.prototype
  • 自动将空对象作为this关键字运行构造函数
  • 自动return this

以上就是JS之父的爱

构造函数x

  • x函数本身负责给对象本身添加属性
  • x.prototype对象负责保存对象的共有属性

代码的规范

  1. 大小写
  2. 所有构造函数(专用于创建对象的函数)首字母大写
  3. 所有被构造出来的对象,首字母小写

词性

  • new后面的函数,使用名词形式

如:new person()、new Object()

  • 其他函数,一般使用动词开头 如:creatSquare(s)、creatElement('div')

原型公式

对象.proto===其构造函数.prototype 自己总结的,大家可以观摩

类型vs类

  • 类型是JS数据的分类,有7种
  • 类是针对对象的分类,有无数种。(常见得:Array、Function、Date等等)

数组对象

定义一个数组

let arr = [1,2,3]
等价于
let arr = new Array1,2,3//元素为123
let arr = new Array3//该数组的长度为3

数组对象的自身属性

'0','1','2''lengtn' 注意:这些都是属性名,均为字符串不是数字

数组对象的共用属性

  • push
  • pop
  • shift

arr.shift()与之对应的arr.unshift(x)。他们分别表示把第一位提出来(有删除的意思)和把x添加到数组的第一位。

  • join 例
let arr = new Array(1,2,3)
arr.join(连)
arr//[1连2连3]

函数的对象

let fn = new Function('x','y', 'return x+y' )

函数对象的自身属性

  • name
  • length

函数对象共用属性

  • call
  • apply
  • bind

JS终极一问

  • Window可通过constructor属性看出构造者,即:Window.constructor
  • Window.Object是谁构造的:Window.Function
  • Window.Function是谁构造的:浏览器构造的Function,然后指定他的构造者是他自己

未完,下一篇继续更新这部分类容,希望大家一起讨论。