Object js的内存有两种东西 一种为栈内存(stack) 一种为堆内存 (heap)
| stark |
| global/window | →哈希表{ 标准库 / 非标准库}
| | ——String()
Object() | ——Number()
|——key | ——Array()
|——create() | ——Boolean()
| --Function()
1.Object()
给我一个什么东西 我就会把它包装成什么 例如下面 /字符/字符串/空对象
Object(1)
//1 number
Object("qwe")
//"qwe" String
Object()
//{}
new Object() 有没有new 一样
2.String() 如果没有new 就会变成一个字符串 如果有new就会变成一个对象
String(1)
//"1"
String(true)
//"true"
String("falsh")
//"false"
new String(1)
// String {"1"}
new String('wwwww')
// String {"wwwww"} '字符串对象`
3.Number 如果给的值不可以变成字符串 就会变成NaN`
Number("ssss")
//NaN
Number (123)
//123
new Number(123)
//Number {123} 'Number对象'
给的任何值都会变成 true / false 0 NaN null undefind ''←空 都是false
Boolean(0)
//false
Boolean(1)
//true
7种数据结构 Number String undefind Null smbol Boolean Object
5.Array 对象是用于构造数组的全局对象
函数属于对象 '加不加new一样'
var a=Array(3) '生成一个长度为3的数组 但是其中不包含1 2 3'
//undefined
a.length | stacks | heap |
//3 var n=Array(3) → | ADDR99 | → length:3 |
a[1] 地址 __proto__ → Array.prototype
//undefined 共用属性
a[0]
//undefined
a[3]
//undefined
0 in a
// false
#######
var a=Array(3,3)
基本类型 复杂类型
Number String Boolean | array
| Object →
不加new 返回基本类型 | function
加new 返回 对象 |
| 加不加new 一样
6.functon
var f=function(a,b){
return a+b 'f 求和的函数'
}
构造函数
var g=new function('a','b','return a+b')
a → 第一个参数名
b → 第二个参数名
return a+b → 方法体