String(1) // ‘1’ new String(1) //返回一个String对象 Number()·和Boolean()同理
总结:基本类型加new和不加,返回的不一样;复杂类型Object(Array,Function)则都一样,返回的都是对象。
Array
var a=Array(3) //a.length=3 a[0] undefined '0' in a false (js小贱人的矛盾之处)
var a =Array(3,3) //a=>[3,3]
Function
var f=function(a,b){ return a+b}
var f=new Function('a','b','return a+b') //new加不加都一样
Array详解
在js里面,用array构造出来的对象就是数组。
遍历:for(let i=0; i<array.length; i++){} //当作数组来遍历 for(let key in obj){console.log(obj[key])} //当作对象来遍历
伪数组:没有Array.prototype;只有length(eg:arguments)
数组的 API: forEach();遍历 a.forEach(function(x,y){})//x为value,y为x的key
sort();排序
join()
concat()