美文网首页
JS里的对象(笔记整理)

JS里的对象(笔记整理)

作者: 阿小经 | 来源:发表于2018-11-14 23:21 被阅读0次

    目录

    • 四个全局函数
    • 公用属性
    • 面试题

    四个全局函数

    number

    1.var n = new Numbe(xxx)
    2.var n =xxx 与1对比缺点:因为n不是对象, n.toString()不能用

    解决方法:临时转换 temp

    临时转换 temp 调用结束后会开始新的temp
    String

    1.var s = 'dadasfsafaa'
    2.var s2 = new String(s)

    示例

    生成一个hash

    其中

    s2.charAt(0) //获取某个索引对应的字符 —— API,等价于**s2[0]**
    "s"
    

    获取unicode编码,上面是10进制,下面是16进制

    API

    几个常用API


    API
    boolean

    1.var f = false
    2.var f2 = new Boolean(false)

    boolean
    所有对象皆是truey,f2是对象所以是truey。所以打印f2
    object

    1.var o1 = {} //推荐用这种
    2.var o2= new Object()

    两个都是对象,完全没区别,但是不相等

    公用属性

    公用属性就是hash


    公用属性 原型链

    Object.prototype —— object的公用属性
    Object.prototype再往后就是null了

    示例

    number的公用属性就是Number.prototype
    number的公用属性的公用属性是Object.prototype(可参考上图)

    同理,String和boolean的也是


    示例

    注意:prototype是浏览器提前准备好的,无代码的时候就存在。我们用__proto__来引用公用属性
    关系String.prototype是 String 的公用属性的引用,防止它不被引用被浏览器当垃圾清理

    s.__proto__是 String 的公用属性的引用,来用它的

    引用关系图

    面试题

    题目:下图1和2的区别是什么?


    区别

    1是对象属性,2是函数属性

    关于Function

    Function的prototype__proto__互相引用,都指向同一个地址

    Function.__proto__ ===Function.prototype

    相关文章

      网友评论

          本文标题:JS里的对象(笔记整理)

          本文链接:https://www.haomeiwen.com/subject/zggsfqtx.html