JS标准库

2020-08-05  本文已影响0人  凉城十月

1.Array对象是用来构造数组的全局函数

用法:
1.var a = Array[3] //数组的长度为3,__prpto__指向Array.prototype
var b = Array[3 , 3] //长度为2,内容为[3,3]的数组
2.var a = new Array[3]和上面一样
以上两种方式都等价于:
var a = [3]

2.number,string,boolean,声明时加不加new不一样

比如: Number() =>基本类型
new Number() => Number对象

3.object(包括array和function),声明时加不加new都一样

比如: Object(1) => 对象
new Object(1) => 对象

4.Function

创建方法:
1.var fn = new Function('a','b','return a+b')
2.var fn = Function('a','b','return a+b')
Function是对象,创建时,加不加new都一样。

5.数组

数组是用Array构造出来的一种对象
var a = [1, 2, 3]var obj = {0:1,1:2,2:3,length: 3}
数组和对象的根本区别是:
数组的__proto__指向Array.prototye
对象的__proto__指向Object.prototype

6.for和forin的区别

var a = [1,2,3];
a.xxx = 'xxx';
a.yyy = 'yyy';

a)

for(let i = 0; i< a.length; i++){
  console.log(i) //1,2,3
}

for默认只遍历key为数字的值,不打印xxx和yyy
b)

for(let key in a){
  console.log(key) // 1,2,3,xxx,yyy
}

forin遍历所有值

7.伪数组

伪数组就是指__proto__没有指向Array.prototype的对象。
arguments就是一个典型的伪数组,__proto__指向Object.prototype。

function f(){
  console.log(arguments)  //undefined
}

arguments是表示函数的参数。

上一篇 下一篇

猜你喜欢

热点阅读