美文网首页
js里面的对象

js里面的对象

作者: 索伯列夫 | 来源:发表于2018-10-07 16:37 被阅读0次

    全局对象window
    全局函数
    公共的属性藏在哪
    toSting哪来的-原型链

    全局对象window

    ECMAScript 规定全局对象叫做 global,但是浏览器把 window 作为全局对象(浏览器先存在的)

    window 就是一个哈希表,有很多属性。

    window 的属性就是全局变量。

    这些全局变量分为两种:

    一种是 ECMAScript 规定的

    global.parseInt
    global.parseFloat
    global.Number
    global.String
    global.Boolean
    global.Object
    一种是浏览器自己加的属性

    window.alert
    window.prompt
    window.comfirm
    window.console.log
    window.console.dir
    window.document
    window.document.createElement
    window.document.getElementById

    ECMAScript规定的对象:

    以number()为例
    • number('1')
    • var a = new Number(1)
      例:
    方法一:var n1 = 1
    方法二:var n2 = new Number(1)
    

    区别就是内存不同,看内存图:

    区别
    那么在这里,很明显方法二过于复杂,没人喜欢用(是js发明时候的问题),但是方法一有一个明显的缺点就是,我们无法用n1.toString(),但是事实是我们可以这么用。其实在这其中发生了一步临时转换,我们用n.toString(),实际上创建一个临时变量:temp = new Number(n),我们只需要用temo.toString()就可以~

    例:

    var n = 1
    n.xxx = 2 //不会报错
    n.xxx //undefined
    

    分析如下:


    分析

    实际上,当第二步结束的时候,temp已经被清除掉了~所以~n.xxx啥也没有。

    总结:普通对象可以使用x.toString(),实际上是创建了临时变量。

    String()

    • var a = 'huahua'
    • var b = new String('huahua')

    boolean同理

    公共属性(原型)

    proto与prototype的区别:初始化.png
    prototype是浏览器准备的,proto是自己创建后出现的
    见下一篇博客~

    相关文章

      网友评论

          本文标题:js里面的对象

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