JavaScript高级程序设计(第3版)学习笔记11 内建(3)

(1)构造器属性(静态属性)是直接定义在构造函数这个对象本身上的属性,只能通过构造函数名来直接访问,原型属性是定义在构造函数原型对象上的属性,可以通过原型去访问,但更重要的是可以通过构造函数的实例去访问。比如上表Object对象的defineProperty()就只能以Object.defineProperty()的形式来调用,而hasOwnProperty()这可以在任意一个Object实例对象上调用。

(2)Object本身是一个(构造)函数,也就是Function类的一个实例,因此也就有了Function实例所具有的属性prototype和length(===1,上表未列出),同时,由于Object还是一个构造函数,也就构成了一种(内建)类型Object,通过原型继承,这个类型是ES中所有其它类型的基类,也就是说所有的对象都可以访问上表中Object的原型属性。这里原型继承是基于下面原理来实现的:Object原型的原型是null(即有Object.getPrototypeOf(Object.prototype)===null),其它对象的原型是Object的实例。

(3)Function是一个构造函数,因此构成了一种内建类型Function,同时,因为是函数,也就是一个对象,这个对象的原型对象是Object的一个实例,因而可以访问Object的原型属性(Function类中有些方法覆盖了Object中的原型方法,上表未列出)。

(4)注意区分Function类中的构造器属性和实例属性,可以这样来理解:首先Function类的所有实例都有属性prototype(函数原型对象)和length(形式参数的个数),然后因为Function本身也是一个函数,是Function类的一个实例,因此有prototype和length属性(属性值已经确定了),而这属性是直接定义在Function构造函数上的,也就是构造器属性了。

(5)其它关于Object和Function中不理解的地方可以参考前面的文章,也可以自己查阅相关资料。

3、Array与String

  将Array和String这两种内置对象放在一起,主要是因为他们有一些方法比较类似,我自己就常常有搞不拎清的时候,于是借这个机会比较一下。

功能类似方法   Array对象独有方法   String对象独有方法  
类别   Array方法   String方法   类别   方法   说明   类别   方法   说明  
方法   说明   方法   说明  
共有属性    length   数组项的个数,可以修改长度来实现添加或移除数组项的功能   length   字符串中字符的个数   栈和队列      pop()   移除数组最后一项,修改数组长度,返回被移除的项   去空格   trim()   去掉字符串前后的空格  
对象创建   构造函数  

1、new Array([item0[,item1[,...]]])

2、new Array(len)

上面两种方式的new可以省略

  构造函数  

new String([value])

注意:上面的new省略时,则作为类型转换函数调用

  push()    接受任意个参数,把它们逐个添加到数组末尾,并返回修改后数组的长度   比较   localeCompare()  

对象在参数前返回负数

相等返回0

后面返回正数

 
数组字面量   使用方括号[]   字符串字面量   使用成对的单引号或成对的双引号   shift()   移除数组第一项并返回,修改数组长度   HTML方法   见附表   用于简化常见HTML格式化任务的方法,已经不建议使用  
转换方法     toLocaleString()   调用数组每一项的toLocaleString(),然后用逗号连接起来   toLocaleString()    返回对象表示的字符串   unshift()   接受任意个参数,并添加到数组前面,返回新数组的长度   大小写转换     toLowerCase()   转小写   
toString()   调用数组每一项的toString(),然后用逗号连接起来   toString()    返回对象表示的字符串   排序   reverse()   反转数组项的顺序   toLocaleLowerCase()       
valueOf()   返回数组本身,即有array === array.valueOf()   valueOf()    返回对象表示的字符串   sort()    默认按升序排序,可以接受一个比较函数    toUpperCase()    转大写   
连接方法   join()   传入一个参数作为分隔符,将数组每一项连接起来,默认为逗号   +   字符串相加  

迭代方法

两个参数:

1、执行函数(数组项的值,该项在数组中的位置,数组)

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wddsdw.html