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

(2)JSON.parse()可以接受一个可选的参数,这个参数是一个函数,被称为还原函数,还原函数返回一个值,接受两个参数:一个键和一个值。如果还原函数返回undefined,表示要从结果中删除相应的键,返回其他值,则将该值插入到结果中。

(3)JSON.stringify()可以接受二个可选参数:

  A、第一个可选参数是个过滤器,可以是一个数组,也可以是一个函数。如果是一个数组,那么结果中只保留这个数组中列出的属性;如果是一个函数,这个函数被称为替换函数,接受两个参数:一个键和一个值。替换函数返回undefined时会忽略这个键,否则就将返回值作为这个键的值插入到相应位置。

  B、第二个可选参数是个选项,表示是否在JSON字符串中保留缩进。如果这个参数是数字,表示每个级别缩进的空格数(最大不能超过10,超过10时自动设置为10),如果这个参数是字符串,则将作为缩进字符处理。

  在调用JSON.stringify(obj)时,如果obj中有toJSON()方法并返回一个有效值时,会首先调用这个方法。

2、Object与Function

  这两个内建对象在前面已经重点讨论过,这里总结一下:

对象/构造函数/[[Class]]   构造器属性(静态属性)   原型属性   实例属性   内部属性  
Object   prototype   constructor                   [[Prototype]]   
defineProperty()   toString()   [[Class]]  
defineProperties()   toLocaleString()   [[Extensible]]  
getOwnPropertyDescriptor()   valueOf()   [[Get]]  
preventExtensions()   hasOwnProperty()   [[GetOwnProperty]]  
seal()   propertyIsEnumerable()   [[GetProperty]]  
isSeal()   isPrototypeOf()         [[Put]]  
frozen()   [[CanPut]]  
isFreeze()   [[HasProperty]]  
create()   [[Delete]]  
getOwnPropertyNames()   [[DefaultValue]]  
getPrototypeOf()   [[DefineOwnProperty]]  
keys()      
Function   prototype   call()   prototype   [[HasInstance]]  
length   apply()   length       [[Scope]]  
bind()      [[FormalParameters]]  
[

复制代码 代码如下:

]  
[[Construct]]  
[[Call]]  

说明:

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

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